从C到C++:const关键字和常量

定义常量

通常用# defineconst关键字定义常量,与define相比,const有数据类型,在一定程度上可以防止出错。

const int MAX_VAL = 23;
const double Pi = 3.14;
const char* SCHOOL_NAME = "UCAS";

定义常量指针

  • 注意1:不可通过常量指针修改其指向的内容。
int m, n;
const int* p = & n;
* p = 5; //编译出错!
n = 4;  // ok
p = &m; // ok,常量指针的指向可以修改
  • 注意2:不能把常量指针值赋给非常量指针,反过来可以
const int * p1;
int * p2;
p1 = p2; //ok
p2 = p1; //error
p2 = (int*)p1; //ok,强制类型转化
  • 注意3:函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容

定义常引用

  • 注意:不能通过修改常引用修改其引用的变量
int n;
const int & r = n;
r = 5;//error
n = 4;//ok
原文地址:https://www.cnblogs.com/rookieveteran/p/13803881.html