class A{
private:
int a;
public:
A() {a = 4;}
const int& random1() const {return a; }
//int& random2() const {return a; }
const int* random3() const {return &a;}
//int* random4() const {return &a;}
};
int main(){
A objA;
cout<<objA.random1()<<"\n";
cout<<*objA.random3()<<"\n";
}
random2()
并且random4()
不允许如上定义。不知何故,我一直都知道这一点,但在编写自己的代码时从未遇到过,直到今天。
在 const 成员函数中,除了这两种情况之外,还有什么是不允许的?
对 C++ 标准文本的任何引用也会有所帮助。谢谢!