Skip to content

Instantly share code, notes, and snippets.

@mkacky
Created July 15, 2013 02:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkacky/5997115 to your computer and use it in GitHub Desktop.
Save mkacky/5997115 to your computer and use it in GitHub Desktop.
sample of resize() and assign()
#include <iostream>
#include <vector>
using namespace std;
void dispVec(const vector<int>& vec)
{
cout << "===vecの中身===" << endl;
for(vector<int>::const_iterator it = vec.begin(); it != vec.end(); ++it)
{
cout << *it << endl;
}
cout << "===ここまで===" << endl;
}
int main(void)
{
vector<int> vec;
for(int i=0; i<3; ++i)
vec.push_back(i);
cout << "vec.size() : " << vec.size() << endl;
//// 表示例
// vec.size() : 3
dispVec(vec);
cout << "\n";
// vectorのサイズよりも大きいサイズ(7)を指定し,初期値(0)で埋める.
vec.resize(7, 0);
cout << "vec.resize(7,0)" << endl;
cout << "vec.size() : " << vec.size() << endl;
//// 表示例
// vec.size() : 7
dispVec(vec);
//// 表示例
// ===vecの中身===
// 0
// 1
// 2
// 0
// 0
// 0
// 0
// ===ここまで===
cout << "\n";
// vectorのサイズよりも小さいサイズ(4)を指定し,はみ出した部分をerase()で削除する. 初期値は利用されない.
vec.resize(4, -3);
cout << "vec.resize(4, -3)" << endl;
cout << "vec.size() : " << vec.size() << endl;
//// 表示例
// vec.size() : 4
dispVec(vec);
//// 表示例
// ===vecの中身===
// 0
// 1
// 2
// 0
// ===ここまで===
cout << "\n";
// vectorのサイズよりも大きいサイズ(7)を指定し,指定した要素数を初期値(5)で埋める.
vec.assign(7, 5);
cout << "vec.assign(7, 5)" << endl;
cout << "vec.size() : " << vec.size() << endl;
//// 表示例
// vec.size() : 7
dispVec(vec);
//// 表示例
// ===vecの中身===
// 5
// 5
// 5
// 5
// 5
// 5
// 5
// ===ここまで===
cout << "\n";
// vectorのサイズよりも小さいサイズ(4)を指定し,指定した要素数を初期値(-3)で埋める.
vec.assign(4, -3);
cout << "vec.assign(4, -3)" << endl;
cout << "vec.size() : " << vec.size() << endl;
//// 表示例
// vec.size() : 7
dispVec(vec);
//// 表示例
// ===vecの中身===
// -3
// -3
// -3
// -3
// ===ここまで===
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment