c – 等待状态改变的方法应该是const吗?

前端之家收集整理的这篇文章主要介绍了c – 等待状态改变的方法应该是const吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在多线程场景中,我有一个这样的方法
bool WaitForChange( time_duration WaitTime ) const;

方法等待,直到对象的状态发生更改并返回true,或者直到超时超时(您怎么说?)并返回false.

我的直觉是,const是为了防止方法本身不必要的副作用,所以这很好.但话说回来,一些用户可能认为状态不会改变,因为该方法被声明为const.该用户是愚蠢的,还是应该将方法设为非const以避免混淆?

解决方法

通过将方法声明为const,您可以说“调用方法不会更改对象的状态”.这(希望)是真的.所以让它成为常量.

如果有人认为,const-ness意味着“在调用方法时,没有其他人可以改变对象状态”而不是那个人是错误的.

猜你在找的C&C++相关文章