当声明或者new一个指针时并没有分配内存空间,所以不会调用构造函数的。 代码如下,定义一个指针p2 运行结果: 正常定义p1会调用MyClass()构造函数,构造函数只被调用一次,说明p2并没有调用。 delete释放了p2,系统会自动调用析构函数释放p1。