成员函数中的 Const 运算符(为什么可以在两个不同的部分)?
Const operator in member function (Why can be in two different parts)?
我们可以发现:
1)
const char *get() { return str; }
2)
int get() const { return A; }
"const"在函数的这两个不同部分有什么区别?
第一个 returns 指向常量 char 的指针 - str 的值无法修改。这是用来创造一个不可改变的东西。
第二个 returns 一个整数(来自 A
),它不修改 class 的状态 - 因此可以在 class 为常量时调用.
我们可以发现:
1)
const char *get() { return str; }
2)
int get() const { return A; }
"const"在函数的这两个不同部分有什么区别?
第一个 returns 指向常量 char 的指针 - str 的值无法修改。这是用来创造一个不可改变的东西。
第二个 returns 一个整数(来自 A
),它不修改 class 的状态 - 因此可以在 class 为常量时调用.