查看单个帖子
  #75 (permalink)  
旧 2008-03-06
ajoo ajoo 当前离线
高级会员
 
注册日期: 2002-09-15
帖子: 2,531
ajoo 正向着好的方向发展
默认 回复: 请教各位大大关于动态内存管理的问题……

1。谁也没保证过i和j就一定会在栈上分配。编译器完全可以把它们放在寄存器里。
2。谁也没保证过i和j肯定占用各自独立的寄存器或者栈空间,编译器完全可以经过分析发现j使用的时候i已经用不着了,所以干脆节省了一个寄存器/栈空间和一次赋值操作。
3。甚至没有保证会分配任何寄存器/栈空间,编译器完全可以直接把常量1编进机器码,就根本不会出现所谓“局部变量”。
4。所有这些都跟程序员没关系,你关心的就是cout能打印出来那个值。其它的什么“意图”什么的扯不上。

此帖于 2008-03-06 12:35 AM 被 ajoo 编辑.
回复时引用此帖