C++類中成員變數和成員指標變數小結
阿新 • • 發佈:2019-02-12
指標的確有點難理解,不過它之所以存在並大範圍使用,這樣做是有一定道理的。
一、C++中的類和結構使用指標定義成員作用
1、多型的要求。如果要使用同一介面,多型設計,那麼就一定要使用基類指標。只有指標才能在實力化後動態的判斷使用哪個方法。
2、程式碼複用。有一些程式要設計成一段程式碼能處理多個事。用指標可以提高複用和靈活性。
3、節省記憶體損耗。在函式呼叫等一些問題上,使用指標可以減少臨時記憶體變數和複製
比如在函式傳遞的時候,可以只複製一個指標(4位元組)了事,而用成員變數,就會變成了size(class ccc)了,記憶體就會 大大佔用了;
當然指標也會有副作用,在構造類的時候,也會因為是指標,而造成記憶體的錯誤;所以解構函式要釋放記憶體,還有基類的解構函式最好要virtual
4、動態陣列的記憶體分配。因為不能確定陣列個數,指標使用new來分配可以根據執行時分配。
成員變數一般用來表示類的屬性
為了提高效率,假如在你的程式當中,沒有需要用到結構或者類來進行傳參的話,那麼就直接min b,像你說的這樣用就好了,因為用指標的話多了一步間接定址的過程,反而讓程式執行時間更加長了(這個多了的時間,基本可以用ms為單位來計算) 但是有以結構或者物件來作為引數的函式時,應該用指標傳遞或者引用傳遞,假如是直接值傳遞的話,結構需要拷貝的時間,類則多了拷貝建構函式呼叫的時間,還要複製,最後可能還要呼叫解構函式,時間開銷很大,一個函式呼叫10次的話,就10倍的增加,所以大部分都是直接用指標來替代,方便,簡介,效率