我也谈一谈关于C/C++

这几天随着linus这位老兄再次发出讨伐C++的声音,又勾起了网络上的大讨论。

 

比起各位高手大牛,我没什么发言权,这里仅说一下我使用C和C++的体会。

 

由于工作经历,我有4年左右的时间都是在使用纯C进行开发(当时在做图象处理模式识别的算法性工作)。感觉C其实就是一个高级的汇编,他的函数,各种类型的变量(主要指的是global, static, local),指针,编译单元等,只要你理解了计算机如何工作就可以很好的使用了,每次在指针,指向指针的指针,static变量等范二胡的时候,想想他在内存的布局,计算机执行的顺序,总可以很快的搞清楚。这就是C,贴近计算机高级语言(相对于汇编而言)。而关键的是你所写的函数或者你调用的函数,总可以很容易的搞清楚它到底干了什么,更能够很好的控制不可预测性。

总之对C地总结就是一切仅在掌握。

 

虽然以前主要使用C也并不是只使用C,在做外围应用封装时也会用到C++,随着这些年开始搞游戏使用C++的时间也更多了起来。我不感说我很精通C++,只能说我能够用C++写出我所需要的程序,甚至到目前为止C++的模板我也不常写(使用STL等除外)。以我的经验来看,如果你所构建的C++应用都是自己写出来的,那么也许你可以较好的控制其规模和复杂度,但如果你使用第三方的C++库,这个就不好说了,也许他的一个“=”号后面有超乎你想象的操作在里面,貌似几句简单的函数调用你也很难轻松的搞清楚其真正的消耗,这里主要指的就是运算符重载。很多C++新手,或者设计思想有问题的开发者往往想什么都封装一把,貌似使用的时候简单了,但实则隐藏了麻烦,这些地方很可能成为未来性能平静所在或者Bug所在。

总之对C++的总结就是老老实实的用,别搞那么花哨,更不要为了炫技写一些“高级”的代码,给自己和他人造成麻烦。

 

我还记得上次关于C,C++的讨论,虽然linus这个老愤青说得有些极端,但是不可否认他说对了一件事,那就是“设计”。用C还是C++并不重要,重要的是设计,无处不在的设计,从软件架构,到函数的声明实现等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值