Mac OX (LLVM 4.2) に付属の Clang コンパイラで C++11 機能を試していますが、次の結果に困惑しています。
// clang compile with "c++ -std=c++11 -stdlib=libc++"
#include <iostream>
#include <vector>
int main(void) {
using namespace std;
vector<int> alist={1, 2, 3, 4};
for (int i=0; i<alist.size(); i++) {
cout << alist[i] << " ";
}
cout << endl;
for (auto i: alist) {
cout << alist[i] << " ";
}
cout << endl;
return 0;
}
実行中の環境で保留中ですが、次のようなさまざまな出力が得られます。
1 2 3 4
2 3 4 0
異なる結果が得られるのはなぜですか?