サンプルコード
#include <iostream>
#include <vector>
using namespace std;
void Show(const int* intarr, int size) {
for (int i = 0; i < size; ++i) {
cout << intarr[i] << endl;
}
}
int main() {
// サイズ 2 のベクトル
vector<int> v(2);
vector<int> v2(2,0); // 0 で初期化
// サイズ 4 に拡張
v.resize(4);
v2.resize(4,1); // 拡張分を 1 で初期化
for(int i = 0, size = v2.size(); i < size; ++i) {
cout << v2[i] << ' '; //=> 0 0 1 1
// ↑ v2.at(i) としても同じ出力です。
}
cout << endl;
// 最初の要素と最後の要素
v.front();
v.back();
// メモリ領域を予め 8 要素分確保して
// resize時などに new やコピーの頻度軽減を狙う
v.reserve(8);
cout << v.size() << endl; //=> 4
cout << v.capacity() << endl; //=> 8
// 配列のサイズを0にする
v.clear();
cout << v.size() << endl; //=> 0
cout << v.capacity() << endl; //=> 8
// サイズが 0 であれば true
v.empty();
// 配列の最後に値を追加
v.push_back(2);
cout << v.size() << endl; //=> 1
cout << v.capacity() << endl; //=> 8
// 配列の最後の値を削除 (void を返す)
v.pop_back();
cout << v.size() << endl; //=> 0
cout << v.capacity() << endl; //=> 8
// 配列の先頭のアドレスを返す
vector<char> vstr(4);
vstr[0] = 's';
vstr[1] = 't';
vstr[2] = 'r';
vstr[3] = '\0';
cout << &vstr[0] << endl; //=> str
Show(&v2[0], v2.size());
return 0;
}