在另一个包含的向量内创建一个对象

时间:2017-02-13 11:35:22

标签: c++ vector std

我想在std :: vector中创建一个对象,避免创建它,然后push_back()他。 我听说过emplace_back()但在这种情况下我无法使用它:

std::vector<std::vector<std::string>> info;

然后,任何人都知道如何在第二个向量内创建字符串信息,并在第一个向量的最后位置创建此向量?任何类似的东西,但没有使用 info2 和push_back():

std::vector<std::string> info2;
info2.emplace_back("a");
info.push_back(info2);

1 个答案:

答案 0 :(得分:1)

你可以emplace_back整个矢量,像这样

info.emplace_back(std::vector<string>{"a"});

然而处理矢量矢量是很麻烦的,所以你可以重新考虑你的设计,正如Orbit中的Lightness Races所建议的那样。