C++は、C言語より派生した歴史のあるオブジェクト指向言語です。このC++は、システムプログラミングにも適した高速で緻密なコーディングのための言語ですが、絶え間なく進化を続けており、モダンな言語仕様やライブラリ機能も貪欲に取り込んでいます。本連載では、このC++の最新バージョンにフォーカスし、その新機能を紹介していきます。また、最新バージョン以前の機能にも関連の深いものについて言及することで、新機能をつながりとして理解できることも意識します。第3回では、C++ 20からサポートされ、C++ 23で強化された、イテレータ(反復子)に替わる機能と柔軟性を備えたrangesライブラリと、イテレータの実装をより簡便にするコルーチンベースのジェネレータstd::generatorを紹介します。