创建bool类型的向量,其中所有值都初始化为true

时间:2016-11-28 22:30:33

标签: c++

这是我到目前为止所做的,但是'是真的'有下划线并说: "没有合适的构造函数可以转换为" bool"到" std :: vector>"

vector<bool> choice[512] = {true};

3 个答案:

答案 0 :(得分:2)

我猜你想要1个长度为512的向量,而不是长度为1的512个向量,就像你的代码当前那样。如果是,那么:

vector<bool> choice(512, true);

注意:vector<bool>是一个专门化,每个条目使用1位存储空间,因此一些典型的vector操作无法正常工作。有些人建议完全避免它。

如果您不需要运行时大小调整,则可以选择以下方法:

std::bitset<512> choice;
choice.set();

答案 1 :(得分:1)

你可能想要的是

vector<bool> choice(512,true);

<子> See (2) constructor form

答案 2 :(得分:0)

vector<bool> choice(NUM_ELEMS, true);将初始化NUM_ELEM个实例为true的向量。在您的情况下,将其替换为512。

请参阅http://www.cplusplus.com/reference/vector/vector/vector/ fill构造函数以供参考。