gpt4 book ai didi

c++ - const 成员函数需要说明

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:21 26 4
gpt4 key购买 nike

我对这段代码编译和运行的原因有点困惑:

class A
{
private:
int* b;
public:
A() : b((int*)0xffffffff) {}
int* get_b() const {return this->b;}
};

int main()
{
A a;
int *b = a.get_b();
cout<<std::hex<<b<<endl;
return 0;
}

运行此代码的输出也是 FFFFFFFF...出乎我的意料。 this->b 不应该返回 const int* 因为它在 const 成员函数中吗?因此 return 行应该生成编译器转换错误以尝试将 const int* 转换为 int*

显然,我对 const 成员函数的含义的理解存在差距。如果有人可以帮助我弥补这一差距,我将不胜感激。

最佳答案

不,成员是一个int* const(从const函数看),这是完全不同的。

指针是const,不是指向的对象。

关于c++ - const 成员函数需要说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5806205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com