「std::vector シンプルな例」の版間の差分

提供: C++入門
移動: 案内検索
(関連項目)
 
行1: 行1:
<!--
+
[[std::vector]]のシンプルな使用例です。
vim: filetype=mediawiki
+
-->
+
  
 
__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
 +
1
 +
2
 +
3
 +
</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
 
1
 
2
 
2
行94: 行116:
 
* [[std::for_each]]
 
* [[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で拡張されたforautoを利用すると簡素に書けます。 また、コンテナ(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

関連項目