免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jamesr
打印 上一主题 下一主题

[C] 分享一个面向对象C的头文件  关闭 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-08-12 22:34 |只看该作者
原帖由 jamesr 于 2008-8-12 09:05 发表
我在自己的一个实验性小项目(vdb)中写的一个头文件,可以简单地实现一些面向对象的功能。

/*!
\file vdb_oo.h
VDB Object-oriented Header File
\author James Ruan \
\date
*/
#ifndef VDB_OO_H
#d ...


为什么不用c佳佳的那个叫类的东西呢

论坛徽章:
0
22 [报告]
发表于 2008-08-13 03:23 |只看该作者
原帖由 blizzard213 于 2008-8-12 22:34 发表


为什么不用c佳佳的那个叫类的东西呢


囧TZ……

C++ 有了,C-- 有了,CXX 有了,难道还来个 C// 么……

论坛徽章:
0
23 [报告]
发表于 2008-08-13 09:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
24 [报告]
发表于 2008-08-13 09:58 |只看该作者
学习了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
25 [报告]
发表于 2008-08-13 12:35 |只看该作者
发明一套语法糖的代价不在于实现它,
而在于推广和熟悉它。

我敢说,你这套东西三年之后连你自己都不会用了。
当然了,如果文档齐全的话,到时候重头开始学起应该不是很难。
但怕就怕许多人不认真看你的文档,随便翻翻就以为自己理解了,
结果掉入了某个陷阱(如果你设计的东西没有陷阱,那简直不可能)。

举个相反的例子,
MFC 用宏实现了一整套消息传递和映射机制,
它那个东西之所以好,并不是因为它实现得好,
而是有很多程序员在用它,因此每个人都认为有必要认真学好它,
而不用担心学好之后用处不大。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
26 [报告]
发表于 2008-08-13 12:38 |只看该作者
另外强调一点的是,
我不希望我的批判如同以往的某些案例一样,
激怒了作品的作者而引来脏水。

技术这东西,越辩越明,欢迎发表不同观点,但请保持在文明的尺度范围内。

论坛徽章:
0
27 [报告]
发表于 2008-08-13 12:42 |只看该作者
原帖由 jamesr 于 2008-8-13 09:29 发表


因为整个项目就是用C的,如果部分数据结构用了C++,那么其他部分也得用C++;而我C++不怎么熟,这个项目也相对比较底层,用C更合适。

你可以以研究一下C/C++混合编译

论坛徽章:
0
28 [报告]
发表于 2008-08-13 12:52 |只看该作者
LZ可以去看一些优秀的纯C打造的项目,如lighttpd等,它们也用了不少C模拟面向对象的技术,但是很少使用一些"奇技淫巧".

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
29 [报告]
发表于 2008-08-13 13:03 |只看该作者
原帖由 converse 于 2008-8-13 12:52 发表
LZ可以去看一些优秀的纯C打造的项目,如lighttpd等,它们也用了不少C模拟面向对象的技术,但是很少使用一些"奇技淫巧".

Linux Kernel 作为一个极端的例子,
它甚至都不允许开发人员用 typedef,更别说是什么宏了。
list.h 里倒是用了不少宏,但它是属于那种“有着极大的诱惑”的情形。

我觉得技术搞到一定程度,就是对“度”的把握的程度了。
“度”把握不好,就容易过于滥用某种技术,或者过于排斥某种技术。

看到许多人滥用 Perl 的正则表达式,感到无比痛心啊。

论坛徽章:
0
30 [报告]
发表于 2008-08-13 13:20 |只看该作者
不论观点正确与否,不是很赞同大家几乎一边倒的这样的评论方式.

建议大家也看看LZ代码中的可取之处.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP