gpt4 book ai didi

c++ - resize() 和 reserve() 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:10 25 4
gpt4 key购买 nike

<分区>

#include<iostream>
using namespace std;
#include<vector>
#include "s.h"


template<class T>
void f(vector<T> a)
{
cout << "size " << a.size() << endl;
cout << "capacity " << a.capacity() << endl << endl;
}


int main()
{
vector<int> s(10,5);
f(s);
s.resize(50);
f(s);
s.reserve(150);
f(s);
return 0;
}

我认为 resize() 会改变大小,而 reserve() 会改变容量,但在我的示例中,reserve() 不会改变容量,为什么?我的第二个问题——assign() 是什么意思?我可以对 operator=() 做同样的事情吗?

// 10 10
// 50 50
// 50 50

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com