关于语法:快速向量初始化c ++

quick vector initialization c++

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicates:
C++: Easiest way to initialize an STL vector with hardcoded elements
Using STL Allocator with STL Vectors

出于好奇,我想知道快速初始化向量的方法

我只知道这个

1
2
double inputar[]={1,0,0,0};
vector<double> input(inputar,inputar+4);


这是当前C++标准的缺点之一。向量可以很好地替换C数组,但初始化一个数组更像是pita。

我听说过的最好的是提振任务包。根据文档,您可以使用它:

1
2
3
4
5
6
7
8
9
10
11
12
#include <boost/assign/std/vector.hpp> // for 'operator+=()'
#include <boost/assert.hpp>;
using namespace std;
using namespace boost::assign; // bring 'operator+=()' into scope

{
    vector<int> values;  
    values += 1,2,3,4,5,6,7,8,9; // insert values at the end of the container
    BOOST_ASSERT( values.size() == 9 );
    BOOST_ASSERT( values[0] == 1 );
    BOOST_ASSERT( values[8] == 9 );
}