const这个关键字对于任何熟识c/c++语言的人都不陌生,而且有关const的应用在各个书中也提到了不少,const对于程序的健壮性有着很大的贡献,”Use const whenever you nedd”。

        1.  用const修饰常量,注意const的左结合特性,到底修饰了变量,还是修饰了变量的指针。

        2.  用const修饰参数,const只能修饰输入参数,避免参数(指针,引用)被误修改,但是对于值传递的方式使用const就多此一举,值传递函数只操纵副本,而对于非内部数据类型的输入参数,采用引用方式const A &a的参数传递最好,避免产生和销毁临时对象调用构造和析构的时间,但是内部数据类型则没必要。

         3. 用const修饰函数返回值,函数的返回值被const修饰以后,只能赋值给定义为const的变量。但是此种方式对于值传递的返回值则没必要,因为函数会把返回值复制到外部临时的存储单元,即int f()不需要 const int f()。

         4. 用const修饰成员函数,禁止该成员函数修改成员变量或者调用非const的成员函数。

        当然最后还是一点,const的声明是为了使程序员的工作效率更高,编译器能检测出异常修改,但是如果采用一些所谓的“技巧”就可以强行修改掉所谓的const,但是这也是无意识的。

转载请注明来源:Leoncom-《高质量程序设计指南——const》
Trackback

no comment untill now

Add your comment now