在以下代码中,对象“队列”是不可复制的,但由于 std::mutex 是可移动的。
std::generate_n(std::back_inserter(thread_pool),
std::thread::hardware_concurrency,
[&](){return std::thread(handler(), exiting, queue);});
由于互斥体上的私有复制构造函数,VC++2012 无法编译。无法为队列生成复制构造函数。为什么会有任何东西试图复制队列?在我看来,一切都是参考,因此没有副本。