i++与++i哪个效率更高
2017-05-30 11:12
204 查看
c/c++:
自建数据类型的情况,效率没有区别; 自定义数据类型的情况,++i效率较高; 解释: 自定义数据类型(主要指类),前缀式(++i)可以返回对象的引用,而后缀式(i++)必须返回对象的值,所以导致在大对象的时候产生较大的复制开销,降低效率。 可参考自建类型的汇编代码: 8: i++; 00401036 mov eax,dword ptr [ebp-4] 00401039 add eax,1 0040103C mov dword ptr [ebp-4],eax 9: ++i; 0040103F mov ecx,dword ptr [ebp-4] 00401042 add ecx,1 00401045 mov dword ptr [ebp-4],ecx 10: 11: x = i++; 00401048 mov edx,dword ptr [ebp-4] 0040104B mov dword ptr [ebp-8],edx 0040104E mov eax,dword ptr [ebp-4] 00401051 add eax,1 00401054 mov dword ptr [ebp-4],eax 12: x = ++i; 00401057 mov ecx,dword ptr [ebp-4] 0040105A add ecx,1 0040105D mov dword ptr [ebp-4],ecx 00401060 mov edx,dword ptr [ebp-4] 00401063 mov dword ptr [ebp-8],edx
相关文章推荐
- i++与++i哪个效率更高?
- i++与++i哪个效率更高?
- i++与++i哪个效率更高
- APC 和 Memcache 有什么区别,哪个更好效率更高?
- ++i和i++哪个效率更高
- 第三题 i++与++i哪个效率高
- MySQL select * 和把所有的字段都列出来,哪个效率更高?
- ++i和i++哪个效率更高
- i = i+1 i +=1 i++ 哪个效率更高
- 磁盘读写和数据库读写哪个效率更高?磁盘读写与数据库的关系
- 面试题 i++和++i哪个效率更高
- 大唐笔试题 oracle中,if exists 和 in 哪个效率更高
- i++ 与 ++i 的效率哪个更高?
- C/C++面试题:i++与++i哪个效率更高?
- 堆和栈访问效率哪个更高
- C/C++面试题:i++与++i哪个效率更高?
- synchronized与lock,哪个效率更高
- x=x+1, x+=1, x++ 哪个效率更高?
- i++和++i哪个效率更高
- 堆和栈访问效率哪个更高