// // reserver_resize.cpp // CplusplusPractice // // Created by masai on 2015/05/22. // Copyright (c) 2015年 masai. All rights reserved. // #include <iostream> #include <vector> using namespace std; int main(int argc, char* argv[]){ // デフォルトコンストラクタ vector<int> vec_def; cout << "vec_def size: " << vec_def.size() << ", capacity: " << vec_def.capacity() << endl; // コンストラクタでサイズ指定 vector<int> vec_constructor(256); cout << "vec_constructor size: " << vec_constructor.size() << ", capacity: " << vec_constructor.capacity() << endl; // デフォルトコンストラクタで作成したvectorをreserveで変更 vec_def.reserve(128); cout << "vec_def reserve size: " << vec_def.size() << ", capacity: " << vec_def.capacity() << endl; // リサイズで変更 vec_def.resize(64); cout << "vec_def resize size: " << vec_def.size() << ", capacity: " << vec_def.capacity() << endl; // リサイズすると、size()も変更後と同じになる。出力すると、すべて0に初期化されていた。 for(auto& a : vec_def){ cout << a << " " ; } cout << endl; // リサイズでは、初期化する値を決定することができる vec_def.resize(128, 10); cout << "vec_def resize size: " << vec_def.size() << ", capacity: " << vec_def.capacity() << endl; for(auto& a : vec_def){ cout << a << " " ; } cout << endl; }