如何将条件变量对象插入向量?

2023-12-11

conditional_variable 不是可复制构造、可移动构造、可复制分配、可移动分配。

我们可以这样打电话吗

vector<conditional_variable> cond;

conditional_variable c1;
conditional_variable c2;
cond.push_back(c1);
cond.push_back(c2);

在这些情况下正确的处理方法是什么


您可以创建一个向量,该向量可以默认构造,但不能使用带有大小参数的构造函数进行复制或移动:

std::vector<std::condition_variable> cv_vec(20);

这样的向量不能增长,但可以缩小pop_back() or clear()(但不是erase() or resize()).

或者,由于一切都可以通过额外的间接级别来解决,因此您可以拥有一个向量std::unique_ptr<std::condition_variable>反而。

现在,到底为什么有人想要对像这样的同步原语执行此操作condition_variable, 我不知道...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将条件变量对象插入向量? 的相关文章

随机推荐