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。
时间: 2024-10-19 08:44:51