2018年02月09日
《その284》 ベクトル vector<> の基礎事項(4)
ベクトル vector<> の基礎事項(4)
下記のプログラムの◆1) 〜 ◆4) を、順を追って見ていきます。
◆1) 最初の、
vector<int> v(10, 6);
により、v の要素は { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 } となります。
次の
v.assign(5, 7);
は、v の全要素を削除した上で、整数 7 を 5個挿入します。
したがって、v の要素は { 7, 7, 7, 7, 7 } です。
次の、
v.push_back(8);
で、末尾に 8 を追加し、
v[0] = 6;
で、先頭の値を 6 に書き換えます。v の要素は { 6, 7, 7, 7, 7, 8 } になります。
◆2) front関数で先頭要素を、back関数で末尾要素を、確認できます。
◆3) at関数は、与えられた引数の値で、v の該当する添字要素にアクセスできます。
この関数は、与えられた引数の値が、添字として不正な場合に
out_of_rage例外を送出します。
◆4) pop_back関数は、末尾要素を削除します。
よって、プログラムの終了時、v の要素数は 0 になっています。
以下はプログラムです。
#include <vector>
#include <iostream>
using namespace std;
int main() {
cout << "◆1)\n";
vector<int> v(10, 6);
for (vector<int>::size_type i = 0; i < v.size(); i++)
cout << ' ' << v[i];
cout << '\n';
v.assign(5, 7);
for (vector<int>::size_type i = 0; i < v.size(); i++)
cout << ' ' << v[i];
cout << '\n';
v.push_back(8);
for (vector<int>::size_type i = 0; i < v.size(); i++)
cout << ' ' << v[i];
cout << '\n';
v[0] = 6;
for (vector<int>::size_type i = 0; i < v.size(); i++)
cout << ' ' << v[i];
cout << "\n\n";
cout << "◆2)\n";
cout << ' ' << v.front() << '\n';
cout << ' ' << v.back() << "\n\n";
cout << "◆3)\n";
try {
cout << ' ' << v.at(5) << '\n';
}
catch (const out_of_range&) {
cout << " 添字エラー!!\n";
}
try {
cout << v.at(6) << '\n';
}
catch (const out_of_range&) {
cout << " 添字エラー!!\n";
}
cout << '\n';
cout << "◆4)\n";
while (v.size()) {
cout << ' ' << v.back();
v.pop_back();
}
cout << '\n';
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7297819
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック