C++语言基础
并发编程-线程栈空间
const的前置和后置
- 修饰变量:
- const 在*前,指针指向的内容不可改;
- const 在*后,指针的指向不可改。
- 修饰函数:
- const在函数最左边,返回的值不可改;
- const在函数最右边,函数不修改内部成员变量。
原则上,任何不会修改数据成员的函数都应该声明为const类型。
示例1:const修饰变量:
const char * p1;//表示p1指向了的字符串不可更改
char const * p2;//同上
char * const p3;//表示p3指针的指向不可更改
示例2:const修饰变量,类的成员函数可以仅按是否有后置const进行重载:
执行结果是:
none const
const to const
注意:只有将类实体声明为const类型后,才会调用带后置const的函数。若不将实例声明为const类型,即使类成员含const数据也不会调用后置const成员函数。
参考资料:
C++ 中的 const 详解