vector初始化的时候开辟空间,然后emplace back的话,会扩大vector的大小,并且初始空间里的元素没有赋值。为了更形象地阐述我在说什么,附上代码如下:
std::vector<double> v(4);
v.emplace_back(1);
v.emplace_back(2);
v.emplace_back(3);
v.emplace_back(4);
我以为现在v里面的元素是1,2,3,4,大小为4,但是结果是0,0,0,0,1,2,3,4,大小为8
vector初始化的时候开辟空间,然后emplace back的话,会扩大vector的大小,并且初始空间里的元素没有赋值。为了更形象地阐述我在说什么,附上代码如下:
std::vector<double> v(4);
v.emplace_back(1);
v.emplace_back(2);
v.emplace_back(3);
v.emplace_back(4);
我以为现在v里面的元素是1,2,3,4,大小为4,但是结果是0,0,0,0,1,2,3,4,大小为8