历史
#define的弊端太多,于是引入了const,所以尽量使用const替代define;
作用范围
const定义的常量的作用域类似与static,只能被当前文件访问。
作用
1.修饰变量,说明该变量不可以被改变;
2.修饰指针,分为指向常量的指针和指针常量;
3.常量引用,经常用于形参类型,即避免了拷贝,又避免了函数对值的修改;
4.修饰成员函数,说明该成员函数内不能修改成员变量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| class { private: const int a;
public: A() { }; A(int x) : a(x) { };
int getValue(); int getValue() const; };
void function() { 大专栏 const关键字nt">// 对象 A b; const A a; const A *p = &a; const A &q = a;
char greeting[] = "Hello"; char* p1 = greeting; const char* p2 = greeting; char* const p3 = greeting; const char* const p4 = greeting; }
void function1(const int Var); void function2(const char* Var); void function3(char* const Var); void function4(const int& Var);
const int function5(); const int* function6(); int* const function7();
|