gpt4 book ai didi

c++将标志添加到const方法

转载 作者:行者123 更新时间:2023-11-27 22:50:57 27 4
gpt4 key购买 nike

我有一些收集器类,有两种方法,例如:

bool MyCollectorChanged() const;
bool MyCollectorDoSomeOperation() const;

我无法更改这些方法的签名,这意味着我无法从签名中删除 const

在某些情况下,我想在 MyCollectorChanged() 中设置/取消设置一些标志,因此我可以检查 MyCollectorDoSomeOperation() 中的标志值。

向类添加成员标志将不起作用,因为 MyCollectorChanged() 是一个 const 方法,所以我无法在 MyCollectorChanged() 中更改成员标志。

有没有办法做到这一点?我如何在 MyCollectorChanged() 中设置/取消设置一些标志,以便它在 MyCollectorDoSomeOperation() 中可见?

最佳答案

选项 1

如果您可以选择更改private 成员变量的属性,您可以使其中一些可变。然后,您将能够在 const 成员函数中更改它们的值。

参见 http://en.cppreference.com/w/cpp/language/cv了解更多信息。

选项 2

如果您可以选择使用 Pimpl idiom ,您将能够更改 class/struct 中表示主 class 数据的任何成员变量的值。

关于c++将标志添加到const方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153539/

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