タグ

2020年6月10日のブックマーク (1件)

  • 範囲for文を自作クラスで使う - C++と色々

    範囲for文とは C++11に範囲for文がある。VisualStudioでは2012から使えるようになった。 これは、STLのコンテナや、組み込み配列をfor文で最初から最後までの要素を処理する時に、従来のfor文でいちいち「最初から、終わりまで」という範囲を書かなくて済むというもの。 例 #include <iostream> int main() { int a[3] = {1, 2, 3}; //今まで(C++03) : 配列の範囲を指定しなければならなかった for(int i = 0; i < 3; ++i) { std::cout << a[i] << std::endl; } //範囲for文(C++11) : 配列の最初から最後まで操作することが自明 for(int it : a) { std::cout << it << std::endl; } } この例でイメージは

    範囲for文を自作クラスで使う - C++と色々
    nharuki
    nharuki 2020/06/10
    “イテレータを戻す、beginと言う名前のメンバ関数と、endと言う名前のメンバ関数がアレば良い。 ここで言うイテレータとは間接参照演算子と前置インクリメント演算子と不等価演算子の3つが定義されたクラス”