「for」の版間の差分
提供: C++入門
(→概要) |
(→関連項目) |
||
行128: | 行128: | ||
* [[C++11]] | * [[C++11]] | ||
* [[auto]] | * [[auto]] | ||
− | <!-- | + | * [[std::for_each]] |
− | vim: filetype=mediawiki | + | * [[BOOST_FOREACH]] |
− | --> | + | * [[ラムダ式]] |
+ | <!-- vim: filetype=mediawiki --> |
2013年12月27日 (金) 01:03時点における版
for (for文)とは、繰り返して処理をするときに用いらられます。制御文の繰り返し文の1つです。
読み方
- for
- ふぉー
- for文
- ふぉー ぶん
目次
概要
C++ では、繰り返し処理を行うときに、以下の制御文やテンプレートなどを使用します。
- for
- std::for_each
- BOOST_FOREACH
- boost で提供されます。
C++11で拡張された機能を利用する場合は、clang++ (3.3)や新しい g++ (gcc48)が必要です。
単純なfor文の例
ソースコード for.cpp
#include <iostream> using namespace std; int main(int argc, char const* argv[]) { int a[] = {1,2,3}; for (unsigned int i = 0; i < (sizeof(a)/sizeof(int)) ; i++) { cout << a[i] << endl; } return 0; }
コンパイル
g++ for.cpp -o for
実行例
% ./for 1 2 3
forを使用してリストを簡単に列挙する例
C++11でfor文を使用して、簡単にリストの要素にアクセスできるようになりました。
ソースコード vector_for_int.cpp
このプログラムは、std::vector の内容を表示するだけの例です。
#include <iostream> #include <vector> using namespace std; int main(int argc, char const* argv[]) { std::vector<int> v; v.push_back (1); v.push_back (2); v.push_back (3); for (int& x: v) { cout << x << endl; } return 0; }
コンパイル
clang++ -std=c++11 vector_for_int.cpp -o vector_for_int
実行例
% ./vector_for_int 1 2 3
autoを用いたループの例
ソースコード auto1.cpp
このプログラムは、std::vector の内容を表示するだけの例です。
#include <iostream> #include <vector> using namespace std; int main(int argc, char const* argv[]) { std::vector<int> v; v.push_back (1); v.push_back (2); v.push_back (3); for (auto x: v) { cout << x << endl; } return 0; }
コンパイル
clang++ -std=c++11 auto1.cpp -o auto1
実行例
% ./auto1 1 2 3