1. 程式人生 > >C++類中成員變數和成員指標變數小結

C++類中成員變數和成員指標變數小結

指標的確有點難理解,不過它之所以存在並大範圍使用,這樣做是有一定道理的。

一、C++中的類和結構使用指標定義成員作用

1、多型的要求。
如果要使用同一介面,多型設計,那麼就一定要使用基類指標。只有指標才能在實力化後動態的判斷使用哪個方法。

2、程式碼複用。有一些程式要設計成一段程式碼能處理多個事。用指標可以提高複用和靈活性。

3、節省記憶體損耗。在函式呼叫等一些問題上,使用指標可以減少臨時記憶體變數和複製

比如在函式傳遞的時候,可以只複製一個指標(4位元組)了事,而用成員變數,就會變成了size(class ccc)了,記憶體就會 大大佔用了;
當然指標也會有副作用,在構造類的時候,也會因為是指標,而造成記憶體的錯誤;所以解構函式要釋放記憶體,還有基類的解構函式最好要virtual

4、動態陣列的記憶體分配。因為不能確定陣列個數,指標使用new來分配可以根據執行時分配。

成員變數一般用來表示類的屬性

為了提高效率,假如在你的程式當中,沒有需要用到結構或者類來進行傳參的話,那麼就直接min b,像你說的這樣用就好了,因為用指標的話多了一步間接定址的過程,反而讓程式執行時間更加長了(這個多了的時間,基本可以用ms為單位來計算)
但是有以結構或者物件來作為引數的函式時,應該用指標傳遞或者引用傳遞,假如是直接值傳遞的話,結構需要拷貝的時間,類則多了拷貝建構函式呼叫的時間,還要複製,最後可能還要呼叫解構函式,時間開銷很大,一個函式呼叫10次的話,就10倍的增加,所以大部分都是直接用指標來替代,方便,簡介,效率