<C++学习七>关于C++ const
本篇博客仅作为笔记,如有侵权,请联系,立即删除(网上找博客学习,然后手记笔记,因纸质笔记不便保存,所以保存到网络笔记)
1、const int Max = 100;
2、便于进行类型检查;
3、可以很方便地进行参数的调整和修改;
4、可以保护被修饰的变量(或其他);
5、可以提供函数重载;
6、可以节省空间,避免不必要的内存分配;
7、提高了效率
一、定义常量:
1 type const ValueName = value; 2 const type ValueName = value;
二、将const作为外部链接使用:
1 extend const type ValueName = value;
三、指针使用常量:
(1)指针本身是常量不可变
char* const pContent;
(2)指针所指向的内容是常量不可变:
const char* pContent;
(3)两者都不变:
const char* const pContent;
区别记忆的方法:沿着*画一条线,const在左为常量,右为常指针。
四、函数中使用const
(1)const修饰函数参数
a、传来的参数在函数内不可改变。
b、参数指针所指内容为常量不可变。
c、参数指针本身为常量不可变,也无意义。
d、参数为引用,为了增加效率(避免拷贝)同时防止修改。
(2)const修饰函数返回值
五、类相关const
(1)const修饰类的成员函数,表示成员常量,不能被修改。
(2)const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。
(3)const修饰类对象/对象指针/对象引用。
注意:const_cast是将const类型转化为非const类型。