From 64da1157bf77fe415445ff20eaa1b84696e5425a Mon Sep 17 00:00:00 2001 From: huihut Date: Wed, 11 Mar 2020 00:29:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90@VoidxHoshi=20=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E3=80=91const=20=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/huihut/interview/issues/12#issuecomment-596042741 --- README.md | 10 ++++++---- docs/README.md | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cb94577..e335990 100644 --- a/README.md +++ b/README.md @@ -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; // 常指针,指向字符数组常量 } diff --git a/docs/README.md b/docs/README.md index 127d50d..9646cfc 100644 --- a/docs/README.md +++ b/docs/README.md @@ -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; // 常指针,指向字符数组常量 } -- GitLab