您的位置:首页 > 其它

vector之reserve函数

2015-07-29 17:42 260 查看
今天做了一道题,要通过vector开辟一个二维数组,一开始我是这样写的。

vector<vector<int>> res;

res.reserve(n*n)

但是在对res[0][0]赋值的时候,出现了错误。于是我就改成了如下语句:

vector<vector<int>> res;

res.reserve(n)

for(int i=0; i<n; i++)

res[i].reserve(n)

结果还是不对,于是参考了cpp官网http://www.cplusplus.com/reference/vector/vector/reserve/。

发现reserve函数只是为vector分配一些存储空间而已,reserve并不能影响vector的大小,也不能改变vector中的元素。

利用vector开辟二维数组,正确的写法为vector<vector<int>> res(n, vector<int>(n));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: