C++ 在C+;中初始化布尔向量的标准方法是什么+;
我四处调查,但没有找到任何明确的答案C++ 在C+;中初始化布尔向量的标准方法是什么+;,c++,vector,boolean,C++,Vector,Boolean,我四处调查,但没有找到任何明确的答案 如何初始化一个特定大小的布尔向量(全部设置为true或false)?这将统一初始化向量: const size_t SIZE = 10; // However many elements you want in the vector. const bool initial_value = false; // All elements will be set to this value std::vector<bool> m_allFalse(SI
如何初始化一个特定大小的布尔向量(全部设置为true或false)?这将统一初始化向量:
const size_t SIZE = 10; // However many elements you want in the vector.
const bool initial_value = false; // All elements will be set to this value
std::vector<bool> m_allFalse(SIZE, initial_value);
const size\u t size=10;//向量中需要多少元素。
常量布尔初始值=false;//所有元素都将设置为此值
std::向量m_allFalse(大小、初始值);
将军,
要在开始时初始化布尔值,可以使用以下方法:
bool temp[] = { true, false, false, true };
std::vector<bool> variousBool ( temp, temp + sizeof(tempBool) / sizeof(bool) );
bool temp[]={true,false,false,true};
标准:向量变量布尔(temp,temp+sizeof(tempBool)/sizeof(bool));
或干脆std::vector variousBool={true,false,false,true}代码> @ OnomeSotu,据我所知,这不是有效的C++。克里斯谢谢。如果我想要一个100布尔值的向量呢?有办法做到这一点吗?Tasosxak的回答看似合理,但我不明白声明中(*)
的目的是什么。@xaxxon,你知道我可以这样做的有效方法吗?@Onomostu,我的评论适用于第二种形式,正确,当它们的值都相同时,这是不合适的<代码>(*)
是一个错误。#这里2:谢谢。不幸的是,这些文档现在对我来说有点模糊。大小类型是指向量大小还是数据类型?alloc()的作用是什么?我还是个编程新手。我还没有研究到那种程度。size\u type
是一种数据类型,它足够大,可以容纳任何对向量实现有效的vector
索引。现在它通常是一个无符号的64位整数alloc
是可选参数。它允许您指定添加新元素时向量如何创建新元素。这是一个严重的思维怪胎,但除非你进入游戏引擎编程或嵌入式系统,否则你不太可能与自定义分配器混在一起。