Re: [問題] 使用指標的時機

看板C_and_CPP作者 (Lance)時間4年前 (2019/09/13 12:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/6 (看更多)
1. Call Stack 觀念要補 2. ClassA a; // 等同無參數初始化, 而帶參數寫法例如: A a(10); 3. ClassA *a = new ClassA(); // 與C#與Java等新語言類似,但少了自動回收機制 4. ClassA a; a = b; // 淺層copy, 不同於指標傳遞, 在傳參數與return時同理. 一般來說除非必要,建議用 ClassA objA; 這種直接產生物件就好, 這種不用delete, 而何時存在何時消失就需要 Call Stack 觀念 (因為有new就要有delete, 沒管理好必有bug) 而這種變數不同於 primitive type 可以直接 assign, 所以才需要用 pass by address 或 C++ 特有的 pass by reference (其他語言的 pass by reference 比較接近 c++ 的 pass by address) 同時原則上物件盡量還是上層產生再傳給下層處理, 這樣可盡量避免使用new -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.2.132 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1568350023.A.B9F.html
文章代碼(AID): #1TUnz7kV (C_and_CPP)
文章代碼(AID): #1TUnz7kV (C_and_CPP)