1. 程式人生 > >c++入門之再話內存和引用

c++入門之再話內存和引用

占用 引入 方式 數值 參數傳遞 內存空間 struct 過程 原來

此處沒有代碼,僅僅討論一些這樣的問題:我們為何使用引用?在哪裏使用引用?

首先從函數的角度思考?:函數進行一般參數傳遞的時候,是怎麽樣傳遞的?普通類型的參數傳遞,是將傳遞的實參復制一份,到另一個內存空間,這其中包含了int,char ,甚至struct。那麽從內存的角度講:如果我們傳遞的參數非常占用內存空間,比如一個很大很復雜的結構體。那麽復制過程首先無疑會浪費時間,其次也會浪費內存.更不用討論c++中在參數類型為類的時候,同樣是一種復雜的結構類型。而引用這種方式,相當給原變量取了一個別名,但實際上指向的仍然是原來的變量,從物理上講,他們指向的是同一個物理地址。

其次,我們之前在程序設計中很少關註過函數的返回值。似乎也很少使用函數的返回值。但其實,函數的返回值和形參具有同樣的屬性:即進行函數值返回時,將當前變量進行了復制。同樣的當這個變量的結構類型比較復雜的時候,同樣會產生內存的浪費和效率的降低。這也是為什麽引入:指針和引用作為返回類型的考量.

後續補充:::::::::::::::::::::::::::::::::

c++入門之再話內存和引用