1

出力は234 5 2293456 6 10 1355995651 12980632 0

正しくインクリメントしていないようです

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int x[5] = {1,2,3,4,5};

    vector<int> vec = {2, 4, 6, 8, 10};

    for(int i : x) {
        cout<<x[i]<<endl;
    }

    cout<<endl;

    for(int i : vec) {
        cout<<vec[i]<<endl;
    }
}
4

1 に答える 1

7

範囲ベースのforループを使用すると、コンテナー内のインデックスではなく、コンテナー内の値を取得します。インデックスiではなく、配列/ベクトル内の値も同様です。

std::list注意:範囲ベースのforループは、、などのインデックスを持たないコンテナで機能しますstd::map。これらは、任意のイテレータ範囲の値で機能します。

于 2013-01-30T02:14:07.473 に答える