C++之const关键字
C++学习 之 const的使用
1.const用于声明一个常量,这个量在代码中应该不能被更改。就像下面这样:
1 | const float c = 3.14; |
像上述这样的常量声明看上去这个常量非常的稳定且“坚固”,但实际上,我们可以做一件非常有趣的事情像下面这样:
1 | const int c = 10; |
非常有趣的事情发生了,指针a居然修改了常量c的值!我们通过引用c的值再获取c的地址的方式成功修改了c的值,引用类型强制转换成指针类型,这让我们成功的通过赋值让指向了c,这表明了在C++中的常量并不是完全无法更改的,他只是一种代码规则而不是程序规则。
2.const在C++的类中也有一些有趣的用法。
同样的,在类中我们一样可以声明成员常量。但是不同于C的是,C++的成员函数可以赋予const的属性,如下:
1 | class entity |
这样的函数类型让我们的函数禁用了修改成员变量的功能,成员变量对于这样的函数是只读的,同时对于常量的对象引用,只有这样的函数是可调用的(因为常量对象是不允许修改成员变量的,相应的就不允许调用普通的成员函数),如下:
1 | void Get_Value(const entity e) |
当然,如果想通过const函数去操作变量,可以适应mutable操作符(或许是为了测试又或者别的原因,谁知道呢?)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fboat Blog!