gpt4 book ai didi

C++ const 成员函数正在修改成员变量

转载 作者:IT老高 更新时间:2023-10-28 23:15:51 31 4
gpt4 key购买 nike

今天我发现这样的代码有效。这对我来说听起来很奇怪,因为据我所知,你不能从 const 成员函数中修改任何成员。你实际上不能直接这样做,但你可以调用非常量成员函数。如果将成员函数标记为 const 表示传递给函数的这个指针指向的是 const 对象,那么在下面的示例中如何调用非 const 成员函数?

#include <iostream>

class X
{
public:
void foo() const
{
ptr->bar();
}
void bar() {}
private:
X * ptr;
};

int main()
{
}

最佳答案

你的成员变量不是X,而是指向X的指针。只要foo不修改指针,就可以是const

关于C++ const 成员函数正在修改成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390437/

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