不会 调用构造函数!
C++声明一个对象指针时没有分配内存:
//假设A是一个类
A *pa;
一个指针在内存中也是有内存空间的,大多数机器上指针都是32bit等于4Byte。
如果你声明指针,
在内存中会分配4Byte的空间存储一个地址。只不过地址是不可以用的,因为它没有指向某一个有用的内存空间。
这和你声明一个int类型是一样:int p
内存中也会分配4个字节空间给p来存储一个整形值,
只不过这个整形值不是可用的,或者是垃圾的。
C++声明+赋值一个对象指针时,调用默认构造函数,并且把这个有效的内存地址存储到指针变量pa的4个字节空间中,例如:
//假设A是一个类
A *pa=new A;