这个问题主要看对象的存储位置;
若对象是通过new出来的在heap上的,则是在运行时通过系统调用来申请内存;
若对象是局部变量存储在stack上,其内存空间的逻辑地址在编译时已经可以确定了,但物理地址还是在运行时才可以得到的;
若对象是初始化后的全局变量存储在.data段上的,其内存空间的逻辑地址在编译时已经可以确定了,但物理地址还是在运行时才可以得到的;
而对于POD类型的全局对象且未进行初始化被存储在.bss段,由于在编译的时候只知道.bss段的大小及位置,当程序装入时把这段全部初始化为0.