STL中
STL中对后缀表达式使用了一个临时变量保存了值。效率上来说肯能会低些
内置类型int、byte、等编译器会做优化的,。结果是一样的。可能只有用迭代器是可能要++iter吧。然而C++ 11都是for(auto var : objs)的写法了。所以这种知识知道了并没什么卵用的感觉。
C++ Code
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// 前缀形式:增加然后取回值 UPInt& UPInt:: operator++() { * this += 1; // 增加 return * this; // 取回值 } // postfix form: fetch and increment const UPInt UPInt:: operator++( int) { UPInt oldValue = * this; // 取回值 ++(* this); // 增加 return oldValue; // 返回被取回的值 } |
STL中对后缀表达式使用了一个临时变量保存了值。效率上来说肯能会低些
内置类型int、byte、等编译器会做优化的,。结果是一样的。可能只有用迭代器是可能要++iter吧。然而C++ 11都是for(auto var : objs)的写法了。所以这种知识知道了并没什么卵用的感觉。