c++ ++i and i++
++i 在 i 存储的值上增加一并向使用它的表达式 ``返回" 新的, 增加后的值;
而 i++ 对 i 增加一, 但返回原来的是未增加的值。
至于++i和i++有什么区别,举个例子
1.a = i++; 等校为
a = i;
i = i + 1; 2.a = ++i; 等校为
i = i + 1;
a = i; i++和++i的 最重要的区别大家都知道就是 +1和返回值的顺序
但,两这还有一个区别(在C++中)就是i++在实现的时候,产
生了一个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++来的更有效率
具体细节你可以看More Effective C++ 的M6
看看C++类重载运算符就知道了。
对于i++的实现是:
int temp;
temp = i;
i = i+1;
return temp;
而++i的实现是:
i = i+1;
return i; 比如printf("%d",i++);是先输出i值随后i自加,而printf("%d",++i);正好相反 for(operation1;operation2;operation3)
{
//Do Something
}
都是按
operation1
operation2
//Do Something
operation3
的顺序来执行的
而i++与++i在单独的语句中结果是一样的。
随机推荐
- Qt中使用DOM解析XML文件或者字符串二(实例)
介绍 在Qt中提供了QtXml模块实现了对XML数据的处理,我们在Qt帮助中输入关键字QtXml Module,可以看到该模块的类表.在这里我们可以看到所有相关的类,它们主要是服务于两种操作XML文档 ...
- Maker's Schedule, Manager's Schedule
http://www.paulgraham.com/makersschedule.html manager's schedule 随意性强,指随时安排会面,开会等活动的 schedule; maker ...
- 巧用tail查看软件的安装进程
我在使用perlbrew安装perl的时候,学到的一招,呵呵. 有时候,安装软件的时候,特别是手动安装的时候,没有什么提示信息,只能干等着,其实,可以使用tail命令来跟踪安装日志的尾部,来观察安装的 ...
- 逆向随笔 - switch 语句深入分析
switch case 语句在c语言里还是比較简单的.可是被编译出来之后,优化结果往往让人非常疑惑.全然看不懂,以下我们一次次的尝试,看看编译器究竟把switch语句变成什么样了. ① 先上个最简 ...
- python学习之pyc,pyo,pyd文件
pyc:二进制文件,python文件经过编译器编译之后的文件.可以提高文件加载速度. pyo:二进制文件,优化编译后的文件.可以通过`python -O file.py`生成. pyd:python的 ...
- 每日英语:Prosecutors Wrap Up Case Against Bo
Prosecutors wrapped up their case against Bo Xilai on Sunday, sparring with the defiant former Commu ...
- ny511 移动小球
移动小球 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给你n个小球,从左到右编号依次为1,2,3,4,5,6.........n,并规定小球1的左边的球号为n,小 ...
- centos 手动编译 fcitx 各种问题大全
yum install ncurses-devel tinyxml-devel sqlite-devel wget http://downloads.sourceforge.net/project ...
- 字符编码的故事:ASCII,GB2312,Unicode,UTF-8,UTF-16
http://blog.csdn.net/longintchar/article/details/51079340 ****************************************** ...
- LeetCode: Sort Colors 解题报告
Sort ColorsGiven an array with n objects colored red, white or blue, sort them so that objects of th ...