c++物件建立帶括號與無括號的區別
class Test
{
public:
Test() {}
Test(int a) {}
}
1、棧上建立物件
1.1 無括號
Test a; // 呼叫預設建構函式,棧上分配記憶體建立物件
1.2 有括號
Test a(); // 無任何意義,宣告一個返回值為Test物件的無參函式
1.3 有括號+引數
Test a(2); // 呼叫建構函式Test(int a),棧上分配記憶體建立物件
2、堆上建立物件
2.1 無括號
Test *a = new Test; // 呼叫預設建構函式(若由編譯器生成則成員不初始化),堆上分配記憶體建立物件
2.2 有括號
Test *a = new Test(); // 呼叫預設建構函式(若由編譯器生成則成員初始化),堆上分配記憶體建立物件
2.3 有括號+引數
Test *a = new Test(2); // 呼叫建構函式Test(int a),堆上分配記憶體建立物件
2.4 系統內建型別
new int;// 分配記憶體,未初始化
new int();// 分配記憶體,初始化為0
new int(2);// 分配記憶體,初始化為2
相關文章
- JavaScript 函式呼叫時帶括號和不帶括號的區別JavaScript函式
- JSON 字串中的中括號和大括號區別詳解JSON字串
- 理解正規表示式中的括號 (),方括號 [] 和大括號 {}
- 物件點查詢和中括號查詢的區別物件
- 22. 括號生成-c++C++
- [C++]括號使用小技巧C++
- JS 中函式名後面加與不加括號的區別JS函式
- 括號畫家
- 【棧】括號匹配
- JavaScript中圓括號()和方括號[]的一個特殊用法JavaScript
- 使用關聯模型的鏈式呼叫時-有無括號的區別模型
- 括號匹配的檢驗問題(C++)C++
- js 物件使用點和中括號存取屬性區別是什麼JS物件
- Matlab中的括號()[]{}Matlab
- 20. 有效的括號
- Shell 括號總結
- Swift之花括號Swift
- 最長有效括號
- 【題解】括號序列
- 正則中括號點符號符號
- [leetcode]有效的括號LeetCode
- [PHP字串]②--花括號{}的作用PHP字串
- 每日一題: 有效括號每日一題
- POJ 2955-Brackets(括號匹配-區間DP)Racket
- (譯) javascript中的物件,方括號和演算法JavaScript物件演算法
- JS物件的方括號表示法和點表示法JS物件
- Python中各種括號的區別、用途及使用方法Python
- 萬用字元 and [] 中括號的用法字元
- ACM 括號配對問題ACM
- 力扣 22. 括號生成力扣
- 牛客題霸 [括號序列] C++題解/答案C++
- 區分import 什麼時候使用 花括號{ }Import
- 【資料結構】棧的應用--括號的匹配(c++)資料結構C++
- Leetcode20. 有效的括號LeetCode
- Leetcode——20. 有效的括號LeetCode
- 【LeetCode-棧】有效的括號LeetCode
- LeetCode有效的括號(Python)LeetCodePython
- LeetCode 20. 有效的括號LeetCode