提交 64da1157 编写于 作者: 辉哈's avatar 辉哈
上级 7cb39bdb
......@@ -50,10 +50,12 @@
#### 作用
1. 修饰变量,说明该变量不可以被改变;
2. 修饰指针,分为指向常量的指针和指针常量
2. 修饰指针,分为指向常量的指针(pointer to const)和指针常量(const pointer)
3. 常量引用,经常用于形参类型,即避免了拷贝,又避免了函数对值的修改;
4. 修饰成员函数,说明该成员函数内不能修改成员变量。
> (为了方便记忆可以想成)被 const 修饰(在 const 后面)的值不可改变,如下文使用例子中的 `p2`、`p3`
#### 使用
const 使用
......@@ -80,14 +82,14 @@ void function()
// 对象
A b; // 普通对象,可以调用全部成员函数、更新常成员变量
const A a; // 常对象,只能调用常成员函数
const A *p = &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* p2 = greeting; // 指针变量,指向字符数组常量(const 后面是 char,说明指向的字符(char)不可改变)
char* const p3 = greeting; // 常指针,指向字符数组变量(const 后面是 p3,说明 p3 指针本身不可改变)
const char* const p4 = greeting; // 常指针,指向字符数组常量
}
......
......@@ -12,10 +12,12 @@
#### 作用
1. 修饰变量,说明该变量不可以被改变;
2. 修饰指针,分为指向常量的指针和指针常量
2. 修饰指针,分为指向常量的指针(pointer to const)和指针常量(const pointer)
3. 常量引用,经常用于形参类型,即避免了拷贝,又避免了函数对值的修改;
4. 修饰成员函数,说明该成员函数内不能修改成员变量。
> (为了方便记忆可以想成)被 const 修饰(在 const 后面)的值不可改变,如下文使用例子中的 `p2`、`p3`
#### 使用
const 使用
......@@ -42,14 +44,14 @@ void function()
// 对象
A b; // 普通对象,可以调用全部成员函数、更新常成员变量
const A a; // 常对象,只能调用常成员函数
const A *p = &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* p2 = greeting; // 指针变量,指向字符数组常量(const 后面是 char,说明指向的字符(char)不可改变)
char* const p3 = greeting; // 常指针,指向字符数组变量(const 后面是 p3,说明 p3 指针本身不可改变)
const char* const p4 = greeting; // 常指针,指向字符数组常量
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册