在一些示例代码中,我看到了下面的const
const std::lock_guard<std::mutex> lock( mux );在其他一些例子中,没有const。
技术上或语义上有什么不同吗?康斯特一号对读者来说是否有什么有趣的信号?例如,它是否意在提醒他们,没有更多的事情可以发生锁定?
发布于 2019-12-11 12:26:47
将const添加到声明中提供了一个免费的文档,这个实例是不可变的,而不必查看std::lock_guard声明。
当然,它没有提供任何性能上的好处,因为std::lock_guard本质上是不可变的,但是您的代码的所有读者可能都不知道这一点。
发布于 2019-12-11 11:23:47
const实例std::lock_guard的行为与非const实例相同。添加const没有好处,也没有省略它的好处。
该类型没有成员功能,并且不可复制或可移动,因此本质上根本没有区别。
我认为const是一种噪音,并将其去除。
https://stackoverflow.com/questions/59281205
复制相似问题