优化是否删除了不必要的`cend()`调用?

时间:2016-08-10 20:09:05

标签: c++ c++11

在运行时调用myVector.cend()的次数:

    std::vector<int> myVector;

        // ...

    for (auto it = myVector.cbegin(); it != myVector.cend(); ++it)
    {
       // ...
    }

它应该被调用一次或myVector.size() + 1次,但我不确定我们可以期望编译器在这里优化的程度。因此,我几乎总是事先添加:

const auto end = myVector.cend();

以这种方式修复循环:

for (auto it = myVector.cbegin(); it != end; ++it)

0 个答案:

没有答案