const的所有用法

const意味着 “只读”

const有什么含义?

1)只读

2)使用关键字const也许能产生更紧凑的代码

3)使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改

const 修饰成员变量

const int a;

int const a;   //a是一个常整型的数

const int *a; //a是一个指向常整型数的指针(值不能改)

int * const a; //a是一个指向整型数的常指针(指针不能改)

扫描二维码关注公众号,回复: 3367436 查看本文章

int const *a const;  //都不能改

const 修饰函数参数

传递过来的参数在函数内不可以改变

const 修饰成员函数

1)const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)

2)const成员函数不能调用非const成员函数,因为非const成员函数可以修改成员变量

const 修饰函数返回值

1)指针传递

如果返回const data ,返回值也必须赋给const data。因为指针指向的数据是常量不能修改。

2)值传递

函数返回值采用值传递方式,会把函数的返回值复制到外部临时的存储单元中,加const修饰没有任何价值。

猜你喜欢

转载自www.cnblogs.com/dec-f97/p/9709886.html