作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在向 const 方法添加一些惰性初始化逻辑,这使得该方法实际上不是 const。有没有办法让我不必从公共(public)界面中删除“const”就可以做到这一点?
int MyClass::GetSomeInt() const
{
// lazy logic
if (m_bFirstTime)
{
m_bFirstTime = false;
Do something once
}
return some int...
}
编辑:“可变”关键字在这里起作用吗?
最佳答案
使 m_bFirstTime 可变:
class MyClass
{
: :
mutable bool m_bFirstTime;
};
...但这也常常表明存在设计缺陷。所以要小心。
关于c++ - 在 C++ 中,我希望我的接口(interface) .h 说 int GetSomeInt() const;.... 但实际上方法 *DOES* 更新 "this"。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321377/
我正在向 const 方法添加一些惰性初始化逻辑,这使得该方法实际上不是 const。有没有办法让我不必从公共(public)界面中删除“const”就可以做到这一点? int MyClass::Ge
我是一名优秀的程序员,十分优秀!