gpt4 book ai didi

c++ - 在类的函数中使用 'const'

转载 作者:IT老高 更新时间:2023-10-28 12:52:48 25 4
gpt4 key购买 nike

我在类中看到了很多将 const 关键字放在函数后面的用法,所以我想知道它是关于什么的。我在这里阅读了smth:http://duramecho.com/ComputerInformation/WhyHowCppConst.html .

它说使用 const 是因为函数“可以尝试更改对象中的任何成员变量”。如果这是真的,那么它应该在任何地方使用,因为我不希望以任何方式更改或更改任何成员变量。

class Class2
{ void Method1() const;
int MemberVariable1;}

那么, const 的真正定义和用途是什么?

最佳答案

可以在 const 对象上调用 const 方法:

class CL2
{
public:
void const_method() const;
void method();

private:
int x;
};


const CL2 co;
CL2 o;

co.const_method(); // legal
co.method(); // illegal, can't call regular method on const object
o.const_method(); // legal, can call const method on a regulard object
o.method(); // legal

此外,它还告诉编译器 const 方法不应该改变对象的状态,并且会捕捉到这些问题:

void CL2::const_method() const
{
x = 3; // illegal, can't modify a member in a const object
}

使用 mutable 修饰符对上述规则有一个异常(exception),但在您涉足该领域之前,您应该首先熟悉 const 的正确性。

关于c++ - 在类的函数中使用 'const',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2157458/

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