前端之家收集整理的这篇文章主要介绍了
c – 等待状态改变的方法应该是const吗?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在多线程场景中,我有一个这样的
方法:
bool WaitForChange( time_duration WaitTime ) const;
此方法等待,直到对象的状态发生更改并返回true,或者直到超时超时(您怎么说?)并返回false.
我的直觉是,const是为了防止方法本身不必要的副作用,所以这很好.但话说回来,一些用户可能认为状态不会改变,因为该方法被声明为const.该用户是愚蠢的,还是应该将方法设为非const以避免混淆?
通过将
方法声明为const,您可以说“
调用此
方法不会更改对象的状态”.这(希望)是真的.所以让它成为常量.
如果有人认为,const-ness意味着“在调用此方法时,没有其他人可以改变对象状态”而不是那个人是错误的.
原文链接:https://www.f2er.com/c/119479.html