ループを実行し、最後から 2 番目の要素の後で停止する最もエレガントな方法は何ですか (C++11 で)?
注: 双方向イテレータのことです。もちろん、ランダム アクセス反復子は、+
and-
演算子を持っているため、些細な特殊なケースです。
std::list<double> x{1,2,3,4,5,6};
for (auto iter = x.begin(); iter != x.end(); ++iter) {
auto iter2 = iter;
++iter2;
if (iter2 == x.end()) break;
std::cout << *iter << std::endl;
}