成员函数中的 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 为常量时调用.