【发布时间】:2011-09-10 13:31:06
【问题描述】:
我不确定这个问题有多合适,但是-
我很好奇编译器如何在对象被构造之前(甚至在构造函数被调用之前!)为对象留出内存(内存分配)。。
原始数据类型是如何发生的?
这听起来有点幼稚,但究竟是什么?
它完全是一个运行时进程,还是它(编译器)在运行时有任何计划,例如这样做,这样做,这它在编译时期间事先决定。我完全不知道!
一个对象,无论是原始类型、指针还是大类的实例,都占用一定的已知内存量。必须以某种方式为对象留出该内存。在某些情况下,该预留内存会被初始化。初始化是构造函数所做的。它们不会留出(或分配)存储对象所需的内存。该步骤在调用构造函数之前执行。
换句话说,从字面上看,任何类型的变量的内存分配是在什么时候发生的?在编译(或运行时)的哪一步?
【问题讨论】:
标签: c++ memory compiler-construction constructor compilation