每当我介绍变量并打印他们的地址时,显然他们倾向于存储在具有固定间距的地方,从我介绍的第一个或最后一个变量(取决于编译器)开始。C++中的内存分配
C++实际上是否以一种方式分配内存:在特定时间引入的所有变量都被赋予其内存一行?如果是这样的话,对内存管理来说不是坏事,因为编译器必须确保它找到足够的空间来为我们在一行中引入的所有变量提供内存。
例如,
int a, b, c;
当我打印&a
,&b
,&c
, 然后,我有编译器的一个答案是:
0xbffe2534
0xbffe2538
0xbffe253c
正如你可以看到&b-&a=4
和&c-&b=4
在另一个编译器,答案是:
0xbffe2534
0xbffe2538
0xbffe253c
再次&b-&a=4
和&c-&b=4
。