i++和++i哪个效率高
来源:互联网 发布:网络电视无信号怎么办 编辑:程序博客网 时间:2024/04/28 10:53
只有在必要时才使用后置操作符
因为前置操作需要做的工作更少,只需要加1后返回加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外工作可能会花费更大代价。因此,养成使用前置操作这个好习惯,就不必担心性能差异的问题。
这个问题是分两种情况的:
1、对于内置数据类型,以现在的编译器的优化水平,前++和后++没区别的,这个可以通过看汇编代码证明
2、对于自定义数据类型,像STL,前++的效率要高于后++,所以STL中关于iterator都是前++的
简单的说:
i++(在c++中)在实现的时候,系统会产
生了一个local object class INT;
++i
INT INT::operator++()
{
*this=*this+1;
return *this;
}
i++
const INT INT::operator ++(int)
{
INT oldvalue=*this;
*this=*this+1;
return oldvalue
}
所以从效率上来说++i比i++来的更有效率
- i++和i--哪个效率高?
- i++和++i哪个效率高
- ++i和i++哪个效率高
- (C++)i++和++i,哪个效率高一些
- i++和++i哪个效率高点
- 第三题 i++与++i哪个效率高
- ++i和i++效率谁高
- ++i 和 --i 谁的效率高 ?
- ++i和i++效率谁高
- ++i和i++效率谁高
- ++i和i++效率谁高
- i++和++i谁效率高
- ++i和i++效率谁高
- i++与++i哪个效率更高?
- i++ 与 ++i 的效率哪个更高
- i++ 与 ++i 的效率哪个更高?
- i++与++i哪个效率更高?
- ++i 与i++哪个效率更高?
- Lniux JNI
- css3pie.让ie6,7,8也能支持css3部分效果
- JavaScript继承详解(四)
- web项目测试方法总结
- C++静态成员链接时 "unresolved external symbol " : static "
- i++和++i哪个效率高
- TCPMP之旅
- boost--asio--读写大总结
- 学习网址
- 修改数据库ALTER DATABASE和ALTER SYSTEM
- 行转列和列转行
- uva 820 Internet Bandwidth (最大流,预流推进)
- CSS入门系列:第二部分 属性(三)
- UVA 102 Ecological bin packaging