有关const

Posted wyj510

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关const相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

1.指针常量与常量指针

指针常量:指针值是一个常量,即指针的值不能改变,永远指向固定的对象。

例:int a = 10, b = 15;   int* const pInt = &a;   pInt = &b;//错误

常量指针:指针指向的内容(所指对象的值)是一个常量,指向可以改变。

例:int a = 1, b = 2;  const int* pInt = &a;   pInt = &b;//正确

 

double PI = 3.14;

double* pNum = Π      //指针非常量,被指物非常量

const double* pNum = Π   //指针非常量,被指物常量

double* const pNum = Π   //指针常量,被指物非常量

const double* const pNum = Π  //指针常量,被指物常量

小结:const在*左边,被指物是常量;const在*右边,指针是常量。

 

2.注意事项

(1)确定对象在使用前已经先被初始化,一般在构造函数中初始化,注意格式,不等同于赋值操作。

(2)尽量使用const替换#define来定义某些常量。

(3)static对象的寿命:从被构造出来开始直至程序结束,程序结束时static对象会被自动销毁,即它们的析构函数会在main函数结束时自动调用。

---恢复内容结束---

以上是关于有关const的主要内容,如果未能解决你的问题,请参考以下文章

有关css和js针对不同浏览器兼容的问题

C++ const 修饰符

为啥 const 模板参数不是通用/转发参考

boost::implicit_cast

13.4 获取蓝牙设备信息

为啥创建静态 const std::string 会导致异常?