C++程序设计语言(特别版)感悟

C++语言学习-第一部分-导论
从C语言学习的人来学习C++语言,在写C++程序时,就很难丢掉C语言的风格,这样就会因此丢到C++语言的一些潜在的优势。在这里列举出C++和C语言的几点代码风格差别之处。
1、在C++风格程序中,很少使用宏定义。用const或者enum定义明显的常量,用inline避免函数调用的额外开销;用template去刻画一类函数或者类型,用namespace去避免名字冲突。
2、C++程序一般不需要你在使用变量之前去声明它,来保证你能立即对它进行初始化。声明可以出现在语句的所有位置上。
3、不要在C++代码中出现malloc()函数。new运算符可以把同样的事情做得更好。
4、试着避免void * 、指针算数、联合和强制类型转换。
5、尽量少用数组和C风格的字符串。与传统的C风格相比,使用C++标准库string和vector常常可以简化程序设计。
如果要符合C的链接规则,一个C++函数就必须被声明为具有C链接的。

关于在设计程序的过程中,C++要充分发挥面对对象程序设计的优势。
1、在编程中,你在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想。
a、如果你能把”它“看成一个独立的概念,就把它做成一个类。
b、如果你能把”它“看成一个独立的实体,就把它做成某个类的一个实例。
c、如果两个类有共同的界面,就把这个界面做成一个抽象类。
d、如果两个类有的实现有某些显著的共同东西,就把这些共性做成一个基类。
e、如果一个类是一种对象的容器,就把它做成一个模板。
f、如果一个函数实现对某容器的一个算法,就将它实现为对一类容器可用的模板函数。
g、如果一组类、模板等相互之间有逻辑关系,将它们放进一个命名空间中。
2、在你定义一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层的类型如链表的时候。
a、不要使用全局变量(使用成员)
b、不要使用全局函数。
c、不要使用公用数据成员。
d、不要使用友元、除非为了避免【a】或【c】。
e、不要在一个类里面放‘类型域’。采用虚函数。
f、不要使用在线函数,除非作为效果显著的优化。

展开阅读全文

没有更多推荐了,返回首页