const_iterator

そんなものがあったのか。

void test(const std::vector<int>& a) {
    std::vector<int>::iterator p;
    for (p = a.begin(); p != a.end(); p++) {
        // 中略
    }
}

…ということはできなくて。。

void test(const std::vector<int>& a) {
    std::vector<int>::const_iterator p;
    for (p = a.begin(); p != a.end(); p++) {
        // 以下略
    }
}

これでOK。


知らなかったよ、ちくしょー!!
今まではコンパイルエラーが出てから小一時間悩んでからiteratorを使うのを諦め、姑息な手段に頼ってコードを汚しまくってました。。*1
万年初心者

*1:どういう手段かって?…んなこと恥ずかしくて書けません。