「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++ では、繰り返し処理を行うときに、以下の制御文やテンプレートなどを使用します。

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++11for文を使用して、簡単にリストの要素にアクセスできるようになりました。

ソースコード 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を用いたループの例

auto は、C++11 で追加されました。

ソースコード 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

関連項目