#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() が容量を変更しないのはなぜですか? 2 つ目の質問ですが、assign() の意味は何ですか? operator=() でも同じことができますか?
// 10 10
// 50 50
// 50 50