const 怎么占空间
都是对const int A =1, 如果不对A进行其他操作,A就不占用空间,用VS2010调试了,好像有点问题:
#include <iostream>
using namespace std;
int main()
{
const int A=1;
return 0;
}
const int A=1对应的汇编代码:
00000023 mov dword ptr [ebp-8],1
这不是有一个分配空间吗??
[解决办法]
debug 和 release 是不一样的
debug 版不进行优化 A 会被栈上分配空间
release 版优化 const int A 可以被优化掉,但不等于一定被优化
没使用 确实会被优化掉