本文 プログラミング言語C++では, ポインタを抽象化したiteratorを用いて範囲と反復操作を統一的に表現できる. iteratorクラスをうまいこと定義さえしてしまえば, 構造体の各メンバを範囲として扱い, 反復操作を行うことも可能である. 適当な構造体exampleがあって: struct example { int a; int b; int c; }; exampleのメンバa, b, cをこの順で反復することも可能. for (auto obj = example{10, 20, 30}; auto&& member: obj) { // ... } 実装例1 std:input…