5

コード ベースで cppcheck を実行すると、次のエラーが表示されました。

Dangerous iterator comparison using operator< on 'std::deque'.

ただし、両端キューの反復子はランダム アクセス反復子であり、ランダム アクセス反復子は不等演算子をサポートします。それで、何が得られますか?

例:

#include <deque>

int main()
{
    std::deque<int> d;
    std::deque<int>::iterator di1 = d.begin();
    std::deque<int>::iterator di2 = d.end();

    if (di1 < di2)
    {
        // (error) Dangerous iterator comparison using operator< on 'std::deque'.
    }

    return 0;
}

編集: このバグはcppcheck チケット #5926で送信され、修正されました。

4

1 に答える 1