C++0x の言語拡張のいくつかは、ライブラリに依存します。 たとえば、 Range-base for文は、 std::Range コンセプトに依存します。 vector<int> v; for (int i : v) { cout << i << endl; } このfor文は、以下のように展開されます。 { auto&& __range = v; for (auto __begin = std::Range<_RangeT>::begin(__range), __end = std::Range<_RangeT>::end(__range); __begin != __end; ++__begin ) { int i = *__begin; cout << i << endl; } } しかし、 Range-base for文が std::Range コンセプトを必要とするということは