1. 程式人生 > >C++建立類物件時(無參)後不加括號與加括號的區別

C++建立類物件時(無參)後不加括號與加括號的區別

https://blog.csdn.net/Windgs_YF/article/details/80927058

https://blog.csdn.net/u012750259/article/details/44832769

1、在棧中例項化物件

A a;//例項化物件,會呼叫class A中的建構函式
A a();//宣告一個函式,沒有傳入的引數,返回值為A型別

2、在堆中例項化物件

a、沒有定義建構函式(編譯器自動生成建構函式)

int *a = new int;//不會將申請到的int空間初始化
int *a = new int();//則會將申請到的int空間初始化為0。

b、自己定義了建構函式

//自己實現了建構函式,下面兩種方式完全一樣,都會呼叫建構函式
A* p_a=new A;
A* p_a=new A();