C ++用固定数量的空字符串</std :: string>实例化std :: vector <std :: string>

时间:2013-07-20 20:02:03

标签: c++ vector initialization default

我正在开发一个用于构建记录的类(具有固定数量的字段)。我的公共方法允许用户按索引插入单个值。用户不需要填写所有字段 - 所以我想将表示记录的向量预先分配到确切的大小,每个字段都初始化为空字符串。

有没有办法比使用推回循环更容易做到这一点?

3 个答案:

答案 0 :(得分:10)

这样的事情:

std::vector<std::string> v(N);

其中N是字符串数。这会创建一个带有N空字符串的向量。

答案 1 :(得分:2)

你只需要选择一个vector类的标准构造函数,即在输入中接收元素数量的元素(使用默认构造函数生成,它将是std::string的空字符串)你想从头开始放入你的矢量。

int N = 10;
std::vector<std::string> myStrings(N);

您还可以将所有字符串初始化为与空字符串不同的值,例如:

int N = 10;
std::vector<std::string> myStrings(N,std::string("UNINITIALIZED") );

文档: http://www.cplusplus.com/reference/vector/vector/vector/

您可能也有兴趣阅读此内容:Initializing an object to all zeroes

答案 2 :(得分:0)

std::vector<std::string> v(N);

会做的。