013 i++和++i的效率差别.docVIP

  • 2
  • 0
  • 约 8页
  • 2017-05-09 发布于河南
  • 举报
013i和i的效率差别

013 i++和++i的效率差别 i++和++i的效率差别 一个无数人讨论过的问题,今天终于看到一个人讲得全面而清楚。下面这个帖子是shornmao (死猫)发的,我只是帮他贴过来而已,希望死猫不会生我的气。 ----------------------- 首先声明,简单的比较前缀自增运算符和后缀自增运算符的效率是片面的,因为存在很多因素影响这个问题的答案。 首先考虑内建数据类型的情况: 如果自增运算表达式的结果没有被使用,而仅仅简单的用于增加一员操作数,答案是明确的,前缀法和后缀法没有任何区别,编译器的处理都应该是相同的,很难想象得出有什么编译器实现可以别出心裁在二者之间制造任何差异。 测试C++源代码如下: //test1.cpp void test() { int i=0; i++; ++i; } Gnu C/C++ 2编译的汇编中间代码如下: .file test1.cpp gcc2_compiled.: ___gnu_compiled_cplusplus: .text .align 4 .globl _test__Fv .def _test__Fv; .scl 2; .type 32; .endef _test__Fv: pushl %ebp movl %esp,%ebp subl $24,%esp movl $0,-4(%ebp) ;i=0 incl

文档评论(0)

1亿VIP精品文档

相关文档