条款03:尽可能使用const

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条款03:尽可能使用const相关的知识,希望对你有一定的参考价值。

01.顶层const和底层const

char greeting[] = "Hello";
char* p = ;
const char* p = greeting;   //const data,nonconst pointer
char* const p = greeting;       //nonconst data,const pointer
const char* const p = greeting; //const data,nonconst pointer.*的左右位置判断

02.非常量对象可以调用nonconst成员函数和const成员函数(顺序),常量对象只能调用const成员函数。(除非强制转化)

03.在nonconst成员函数中可以调用const成员函数,反之则不行。(可以避免重复代码,反之违反了物理上的const)


总结:

编译器强制执行物理上的const,但是我们编写程序时应该使用逻辑上的const。

本文出自 “12033470” 博客,请务必保留此出处http://12043470.blog.51cto.com/12033470/1854136

以上是关于条款03:尽可能使用const的主要内容,如果未能解决你的问题,请参考以下文章

条款3:尽可能使用const

effective c++学习笔记

条款02:尽量以const,enum,inline替换#define

条款二:最好使用c++转型操作符

Effective C++条款 02:尽量以 const, enum, inline 替换 #define

条款2:尽量以const,enum,inline替换#define