This question already has answers here:
What is the easiest way to initialize a std::vector with hardcoded elements?
(26个答案)
5年前关闭。
我正在寻找香草C ++ 98解决方案(无升压或qt等)
有什么办法可以做like this:
或类似的东西
现在,我使用这个:
但是我觉得很丑。有任何改进的想法吗?有没有一种特殊的方法可以实现?
谢谢。
(26个答案)
5年前关闭。
我正在寻找香草C ++ 98解决方案(无升压或qt等)
有什么办法可以做like this:
// valid in c++ 11
std::vector<Foo> vFoo {Foo1, Foo2, Foo3, Foo4} ;
或类似的东西
// Well it is C# but you got the point.
List<Foo> lFoo = new List<Foo>() { Foo1, Foo2, Foo3, Foo4 };
现在,我使用这个:
std::vector<Foo> vFoo;
vFoo.push_back(Foo1);
vFoo.push_back(Foo2);
vFoo.push_back(Foo3);
vFoo.push_back(Foo4);
但是我觉得很丑。有任何改进的想法吗?有没有一种特殊的方法可以实现?
谢谢。
最佳答案
简短的答案:不。这就是为什么在C ++ 11中添加了对此类构造的语言支持的原因。如果您不能使用C ++ 11,那么您现有的push_back
解决方案就足够了。
关于c++ - 有没有一种方法可以用一行来初始化容器? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22881235/
10-12 02:55