【发布时间】:2013-08-01 01:08:21
【问题描述】:
众所周知,C++的内存模型可以分为五个块:栈、堆、空闲块、全局/静态块、常量块。我可以理解前三个块,我也知道像 static int xx 这样的变量存储在第 4 个块中,还有“hello world”-字符串常量,但是第 5 个块-const 块中存储了什么?和int a = 10 一样,“10”存储在哪里?谁能给我解释一下?
非常感谢。
【问题讨论】:
-
C++ 没有强加特定的内存模型。对于所有的语言问题,一切都可以存储在堆上。
-
如果你解释它们之间的区别 - 我将能够解释第五个......
-
10本身并不存储在任何地方,它是一个用于初始化变量的值。变量本身使用的内存取决于变量的定义方式。 -
第5块有什么用?