C++中,int a = 10的后面的操作

在C++中,int a = 10的内存表现形式取决于你的具体代码和优化级别,主要的几种形式:
  1. 不存在于内存中。比如a从未改变,被编译器当成常量,所有代码中的a直接替换成10;
  2. 存在于寄存器中;比如对a的读写很简单,10可能就直接放在了寄存器eax中。
  3. 放在函数栈(stack)中。比如包含a的函数的栈基指针是0xC0000000,a的地址就可能是0xBFFFFFFC
  4. 也可能在堆(heap)中,比如a是一个类成员变量,而该类的对象new在堆上。




posted @ 2017-12-06 19:57  D_R_Y  阅读(792)  评论(0编辑  收藏  举报