「std::vector シンプルな例」の版間の差分
提供: C++入門
細 (Daemon がページ「Std::vector シンプルな例」を「std::vector シンプルな例」に移動しました) |
|||
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | + | [[std::vector]]のシンプルな使用例です。 | |
− | + | ||
− | + | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[std::vector]]のシンプルな使用例です。 | [[std::vector]]のシンプルな使用例です。 | ||
== std::vector のシンプルな例 == | == std::vector のシンプルな例 == | ||
− | |||
=== ソースコード vector_int_1.cpp === | === ソースコード vector_int_1.cpp === | ||
− | + | [[std::vector]]の平凡なC++での利用例です。 | |
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
#include <iostream> | #include <iostream> | ||
行33: | 行29: | ||
=== コンパイル === | === コンパイル === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
g++ vector_int_1.cpp -o vector_int_1 | g++ vector_int_1.cpp -o vector_int_1 | ||
行39: | 行34: | ||
=== 実行例 === | === 実行例 === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% ./vector_int_1 | % ./vector_int_1 | ||
行49: | 行43: | ||
== std::vectorを添え字で扱う例 == | == std::vectorを添え字で扱う例 == | ||
− | |||
=== ソースコード vector_int_2.cpp === | === ソースコード vector_int_2.cpp === | ||
− | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
#include <iostream> | #include <iostream> | ||
行72: | 行64: | ||
=== コンパイル === | === コンパイル === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
g++ vector_int_2.cpp -o vector_int_2 | g++ vector_int_2.cpp -o vector_int_2 | ||
行78: | 行69: | ||
=== 実行例 === | === 実行例 === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% ./vector_int_2 | % ./vector_int_2 | ||
行86: | 行76: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == C++11の拡張を用いた簡素なコードの例 == |
+ | [[C++11]]で拡張された[[for]]と[[auto]]を利用すると簡素に書けます。 | ||
+ | また、コンテナ([[std::vector]])を初期化リストで初期化できます。 | ||
+ | === ソースコード vector_for_int.cpp === | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | #include <iostream> | ||
+ | #include <vector> | ||
+ | using namespace std; | ||
+ | int | ||
+ | main(int argc, char const* argv[]) | ||
+ | { | ||
+ | vector<int> v{1,2,3}; | ||
+ | for (auto& x: v) { | ||
+ | cout << x << endl; | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | === コンパイル === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ | ||
+ | -Wl,-rpath=/usr/local/lib/gcc49 vector_for_int.cpp -o vector_for_int | ||
+ | </syntaxhighlight> | ||
+ | === 実行例 === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | % ./vector_for_int | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == 関連項目 == | ||
* [[std::vector]] | * [[std::vector]] | ||
+ | * [[auto]] | ||
+ | * [[for]] | ||
+ | * [[C++11]] | ||
+ | * [[ラムダ式]] | ||
+ | * [[std::for_each]] | ||
* [[C++ライブラリ]] | * [[C++ライブラリ]] | ||
+ | <!-- vim: filetype=mediawiki --> |
2013年12月28日 (土) 00:59時点における最新版
std::vectorのシンプルな使用例です。
目次
概要
std::vectorのシンプルな使用例です。
std::vector のシンプルな例
ソースコード vector_int_1.cpp
std::vectorの平凡なC++での利用例です。
#include <iostream> #include <vector> int main(int argc, char const* argv[]) { std::vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); for(std::vector<int>::iterator it = v.begin(); it != v.end(); it++) { std::cout << *it << std::endl; } return 0; }
コンパイル
g++ vector_int_1.cpp -o vector_int_1
実行例
% ./vector_int_1 1 2 3
std::vectorを添え字で扱う例
ソースコード vector_int_2.cpp
#include <iostream> #include <vector> int main(int argc, char const* argv[]) { std::vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); for(unsigned int i = 0; i < v.size(); ++i) { std::cout << v[i] << std::endl; } return 0; }
コンパイル
g++ vector_int_2.cpp -o vector_int_2
実行例
% ./vector_int_2 1 2 3
C++11の拡張を用いた簡素なコードの例
C++11で拡張されたforとautoを利用すると簡素に書けます。 また、コンテナ(std::vector)を初期化リストで初期化できます。
ソースコード vector_for_int.cpp
#include <iostream> #include <vector> using namespace std; int main(int argc, char const* argv[]) { vector<int> v{1,2,3}; for (auto& x: v) { cout << x << endl; } return 0; }
コンパイル
g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \ -Wl,-rpath=/usr/local/lib/gcc49 vector_for_int.cpp -o vector_for_int
実行例
% ./vector_for_int 1 2 3