std::vector 初始化的问题 reserve resize

tech2022-09-30  66

1. reserve 只是开辟了内存空间,并不改变verctor中实质的元素数量。

2. resize 只负责改变vector 中的元素数量。

 

初始化:

std::vector<double> vec(4);// vector有四个元素

vec[0] = 1.0;// 需要这样做,如果push_back就会在原来的基础上增加元素,变成8个

vec[1] = 1.0;

vec[2] = 1.0;

vec[3] = 1.0;

std::vector<double> vec; // 有四个元素的储存空间,但是元素个数还是0

vec.reserve(4);

vec.push_back(1);// 必须push_back,不可以赋值,因为vec[0]这个元素不存在;

最新回复(0)