【发布时间】:2020-10-03 17:41:55
【问题描述】:
有人能说出std::mutex 既不可复制也不可移动的原因吗?
有人告诉我,这与避免资源浪费有一定的关系。为什么std::mutex的拷贝构造函数要标记为已删除?如果没有,是否有任何潜在问题?它的复制构造函数被清楚地标记为已删除,但我没有看到它的移动构造函数的这样声明。那么为什么cppreference 说std::mutex 是不可移动的呢?
【问题讨论】:
-
从逻辑上讲,复制互斥体意味着什么?这与从头开始创建互斥锁有什么区别?
-
@TonyTannous 对不起,也许我误导了你。我完全理解为什么 std::mutex 不应该是可移动的。但我还有一个问题。 它的复制构造函数被明确标记为已删除,但我没有看到它的移动构造函数有这样的声明。那么为什么 cppreference 说 std::mutex 是不可移动的呢?
标签: c++ c++11 constructor mutex copy-constructor