new A与new A();

来源:互联网 发布:c语言实例100题 编辑:程序博客网 时间:2024/05/07 15:35
  解释以下语句的含义:
         1、new A;

         2、new A(); 

对于new A和 new A() 的区别,我们可以得出下面的结论:
      1、类体含有显示适合地默认构造函数时,new A和new A()的作用一致,都是首先调用operator new分配内存,然后调用默认构造函数初始化对象。
      2、类体无显示构造函数时,new A()首先调用operator new来为对象分配内存,然后使用空值初始化对象成员变量,而new A仅仅是调用operator new分配内存,对象的成员变量是无意义的随机值!  (注:对于基本数据类型,如int等 适用此条)

原创粉丝点击