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

[复制链接]
8073|38
奔牛滚滚 发表于 2013-11-8 11:41 | 显示全部楼层
不错,不过有些没看懂.
AM072626 发表于 2013-11-8 17:10 | 显示全部楼层
学硬件表示:“虽然不懂,但是看起来很厉害的样子--------”
goldsunking 发表于 2013-11-9 13:06 | 显示全部楼层
很好啊,学习。
zjt761215 发表于 2013-11-10 19:33 | 显示全部楼层
a平凡的世界 发表于 2013-11-10 21:06 | 显示全部楼层
谢谢分享
583854536 发表于 2013-11-11 21:04 | 显示全部楼层
学习一下  学习一下
zjxcml 发表于 2013-11-11 21:04 | 显示全部楼层
呵呵,学习了
jvcson 发表于 2013-11-12 13:45 | 显示全部楼层
不错不错,学习了
hjj494236680 发表于 2013-11-14 00:13 | 显示全部楼层
不错,很好的资料,谢楼主
原野之狼 发表于 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先天不足。
...

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

icecut 发表于 2013-11-14 10:16 | 显示全部楼层
异常处理,try catch throw是多么的简洁明了
这个说不定也是灾难...哈哈哈.慎重使用.

用c++思想去写c.还不如换个支持c++的编译器算了....
只不过嵌入式的都支持c++部分语法而已.
mfktuu 发表于 2013-11-14 13:21 | 显示全部楼层
不错,学习了
outstanding 发表于 2013-11-14 15:13 | 显示全部楼层
zjwxztm 发表于 2013-11-16 18:48 | 显示全部楼层
cjhk 发表于 2013-11-17 08:41 | 显示全部楼层
楼主   强大  高人     C语言的   知识点   还是比较神的   
mbdly 发表于 2013-11-18 10:17 | 显示全部楼层
谢谢,学习了
ayl439 发表于 2014-1-4 17:18 | 显示全部楼层
MARK!学习!
十年一等待 发表于 2014-3-14 13:02 | 显示全部楼层
学渣路过
ayl439 发表于 2014-4-24 11:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部