发新帖我要提问
12
返回列表
打印
[C语言]

C语言和设计模式==连载

[复制链接]
楼主: lhchen922
手机看帖
扫描二维码
随时随地手机跟帖
21
奔牛滚滚| | 2013-11-8 11:41 | 只看该作者 回帖奖励 |倒序浏览
不错,不过有些没看懂.

使用特权

评论回复
22
AM072626| | 2013-11-8 17:10 | 只看该作者
学硬件表示:“虽然不懂,但是看起来很厉害的样子--------”

使用特权

评论回复
23
goldsunking| | 2013-11-9 13:06 | 只看该作者
很好啊,学习。

使用特权

评论回复
24
zjt761215| | 2013-11-10 19:33 | 只看该作者

使用特权

评论回复
25
a平凡的世界| | 2013-11-10 21:06 | 只看该作者
谢谢分享

使用特权

评论回复
26
583854536| | 2013-11-11 21:04 | 只看该作者
学习一下  学习一下

使用特权

评论回复
27
zjxcml| | 2013-11-11 21:04 | 只看该作者
呵呵,学习了

使用特权

评论回复
28
jvcson| | 2013-11-12 13:45 | 只看该作者
不错不错,学习了

使用特权

评论回复
29
hjj494236680| | 2013-11-14 00:13 | 只看该作者
不错,很好的资料,谢楼主

使用特权

评论回复
30
原野之狼| | 2013-11-14 10:10 | 只看该作者
c和c++在语言特性上有着本质的差别,前者是面向过程的,后者是面向对象的。
虽说用c也可以写出面向对象的代码,但是其表达性总是不如原生态的面向对象的c++方便。

众所周知的面向对象语言的几大特性:抽象、封装、继承、多态。

前三者c是可以比较容易做到的,但形式上总是不够美观:
比如在对象创建和销毁的过程中,c总是需要大篇的代码来做这个事情。
比如在调用的问题上,由于没有this指针,代码写起来很冗长,少了点面向对象的味道。

而在多态方面,c先天不足,实现起来又麻烦又怪异,在继承深度比较深的情形下,那简直就是灾难。
而多态这个语言特性恰是《设计模式》得以简洁美观有效描述的基石,看看书里面有多少次用到virtual这个关键字就知道了。

除此之外,面向对象语言的其它一些特性也令c望尘莫及,随便列举几个:
函数重载机制,c先天不足。
操作符重载机制,c先天不足。
析构,c先天不足。
访问控制,c先天不足。
异常处理,try catch throw是多么的简洁明了,而用c的setjmp longjmp机制经过异常复杂的封装,运用N多的编码技巧所实现的异常处理机制也只能是形式上类似面向对象语言的异常处理机制,而若要做到异常处理机制的多级继承那又是一场噩梦。
泛型编程,c先天不足。
...

说了这么多,核心意思就是:不要迷信于权威,不要迷信于高端,让正确的东西干正确的事,设计上保持简单但是不要太简单。

使用特权

评论回复
31
icecut| | 2013-11-14 10:16 | 只看该作者
异常处理,try catch throw是多么的简洁明了
这个说不定也是灾难...哈哈哈.慎重使用.

用c++思想去写c.还不如换个支持c++的编译器算了....
只不过嵌入式的都支持c++部分语法而已.

使用特权

评论回复
32
mfktuu| | 2013-11-14 13:21 | 只看该作者
不错,学习了

使用特权

评论回复
33
outstanding| | 2013-11-14 15:13 | 只看该作者

使用特权

评论回复
34
zjwxztm| | 2013-11-16 18:48 | 只看该作者

使用特权

评论回复
35
cjhk| | 2013-11-17 08:41 | 只看该作者
楼主   强大  高人     C语言的   知识点   还是比较神的   

使用特权

评论回复
36
mbdly| | 2013-11-18 10:17 | 只看该作者
谢谢,学习了

使用特权

评论回复
37
ayl439| | 2014-1-4 17:18 | 只看该作者
MARK!学习!

使用特权

评论回复
38
十年一等待| | 2014-3-14 13:02 | 只看该作者
学渣路过

使用特权

评论回复
39
ayl439| | 2014-4-24 11:13 | 只看该作者
留名

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则