std::vector::at
提供: C++入門
2013年3月23日 (土) 16:18時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「<!-- vim: filetype=mediawiki --> __TOC__ == 概要 == std::vector::at は、指定された要素の参照を返します。値を代入したり、参照でき...」)
スポンサーリンク
概要
std::vector::at は、指定された要素の参照を返します。値を代入したり、参照できます。
std::vector::at は、境界チェックをしてくれます。 境界を超える場合には、std::out_of_range を送出します。
operator[] の場合では、境界チェックがないため、以下のケースで Bus error になります。
std::vector v(3,1); cout << v[100000000000000] << endl;;
std::vector::atの使用例
ソースコード vector_at_1.cpp
#include <iostream> #include <vector> #include <stdexcept> using namespace std; int main(int argc, char const* argv[]) { vector<int> v(3, 100); try { v.at(1) = 20; // 代入できる cout << v[1] << endl; // 代入したものを確認する cout << v.at(10) << endl;; // out_of_range } catch (std::out_of_range& ex) { cerr << "Out of Range: " << ex.what () << endl; } return 0; }
コンパイル
g++ vector_at_1.cpp -o vector_at_1
実行例
% ./vector_at_1 20 Out of Range: vector::_M_range_check
関連項目
ツイート
スポンサーリンク