Я знаю, что постфиксные версии операторов увеличения / уменьшения обычно оптимизируются компилятором для встроенных типов (т. Е. Копирование не производится), но это так для итератора
s?
По сути, они представляют собой просто перегруженные операторы и могут быть реализованы любым количеством способов, но, поскольку их поведение строго определено, могут быть оптимизированы, и если да, то они какие-либо / многие компиляторы?
#include <vector>
void foo(std::vector<int>& v){
for (std::vector<int>::iterator i = v.begin();
i!=v.end();
i++){ //will this get optimised by the compiler?
*i += 20;
}
}