C++技术——const修饰词


const :表示不能改变被修饰变量的值;相反修饰:mutable :表示可变,不管在哪。
一 非类中作用:

1  const修饰形参引用:用于函数参数修饰,这样就无法改传递过来的变量的值,只能访问。
2  const修饰变量    :const int sum = 10;(代替宏定义,定义宏变量其实是一个常量,
宏定义在编译的时候替换掉,而const 变量不需要,显得更加有优势)
3  const int sum = 10; const int &a = sum;(const 修饰的变量,引用时也需要使
用const 引用,因为如果后期引用发生赋值现象,那么就等于再改变const int sum 的值,
这明显逻辑不对,所以才需要再引用前添加const.

二 类中作用:

1 修饰成员变量:修饰的变量在类中完成声明和定义,声明可以像其它变量一样声明即可
(但是如果是static const int sum = 10;   可以直接声明并定义。), 定义需要在
构造函数的参数列表中完成,不可以在构造函数体内完成,因为函数体执行时间是在定义
了对象以后才调用,而常量要求声明后及定义。

2 修饰成员函数:int sum_work( )const 
               {
                    cout<<sum<<endl;
               }
其实const 放在函数后面是由原因:const 其实是修饰对象,表示对象调用该函数不可以
通过该函数改变成员变量的值,因此在这种const成员函数中调用其它成员函数也应该是
const修饰的成员函数。
如果我们希望某些成员变量在const修饰的成员函数可以修改,可以在声明该变量时添
加mutable即可,表示该变量是可被改变的,即使在const 修饰的成员函数中。

猜你喜欢

转载自blog.csdn.net/wghkemo123/article/details/82658708