【发布时间】:2019-12-11 08:02:20
【问题描述】:
在一些示例代码中,我看到以下带有const:
const std::lock_guard<std::mutex> lock( mux );
在其他一些例子中,没有const。
任何技术或语义差异? const 是否以某种方式向读者发出了有趣的信号?例如,它是否旨在提醒他们锁定不会再发生任何事情?
【问题讨论】:
-
制作不变的变量
const是一种很好的做法。 1. 表示它们不会改变,2. 帮助编译器优化代码和 3. 防止意外更改 -
这在很大程度上取决于个人程序员。是的,它具有语义意义(因为对象不能被修改),但它也具有信息意义(对象不会被修改)。作者的意图是哪一个无法说。
标签: multithreading c++11 constants mutex