C++小结

 


已读书籍

《C++Primer》/《more effective c++》/《effective c++》/《thinking in C++》/《inside c++ object model》(这个真心看不太懂,不吹牛)

待补足:《Effective STL》/《Modern C++ Designer》/《STL 源码剖析》

C++ 三大部分

基础语法 / 面向对象部分 / 高级特性(模板编程/STL库泛型算法)

基础语法:继承自C语言,简洁易上手,搞懂指针就OK(书本推荐《C和指针》)。

面向对象部分C++是正式的面向对象的编程语言,区别于C语言微弱的面向对象的特点。

引入的继承,封装,多态。但还是保留了全局变量,main函数,静态成员等过程化语言的特点,没有接口。

高级特性:泛型编程,实现是预处理器的宏定义,为面向对象的语言特性提供了很好的支持,对效率略有影响。

STL库,同对效率有影响,大大提高了代码的安全性和可靠性,且提供了非常优秀的数据遍历方式迭代器。

 

优点:在面向对象的语言中运行效率高,面向对象语言的优点,功能强大。

缺点:语言过于庞大复杂,难以精通,特别是指针与多态结合之处。开发效率较低,指针的特性容易造成内存泄露。面向对象特性不彻底,没有接口,内部类,匿名类。对库依赖性较强,程序员往往会在语法层次上花费过多的精力。

 

总结:C++是一门非常优秀的编程语言,很适合学习,学好C++非常便于迅速转向其他语言进行转向。

 

关于C++的编程库:

MFC:微软的编程库,较老的一个编程库。对Windows API进行了相应的封装,相对其他的编程库,在运行效率上相对较有优势。缺点是难学,代码量大。

Qt:nokia维护的编程库,开源,相对于其他编程库最大的优势就是其跨平台性,文档齐全,Qt creator的开发环境也非常出色,易学易用。缺点:大量使用宏定义,很容易造成莫名的编译问题,同时感慨一下nokia不争气啊。

STL安全性可靠性很高,统一优秀的编程风格。缺点:基本没有,代码效率有所降低。

SDL国外比较著名的开源C++图形库,用C语言编写。国内用的很少。适合开发游戏,演示文档。由于其开源特性,文档比较少,开发成本高,难以有效维护。

总结:C++写UI确实不如Java(AWT,SWING)来的方便,快捷,会有大量的代码,开发效率比较低,但是运行效率很高。

 

最后说两句:

真心的说C++不好的人很多,但是自己还是对这门语言有很深的感情。

不论别人对它有什么非议,但是还是有很多人用着C++,作为一个多面手,全能的代价就是不精通,有得必有失。

posted @ 2012-03-26 21:59  Hazi  阅读(324)  评论(0编辑  收藏  举报