對指標形參的引用

2021-08-16 01:55:41 字數 452 閱讀 5839

以特定問題為例,在二叉樹中插入乙個資料域為x的新結點,可以很快寫出下列**:

void

insert

(node*

&root,

int x)if(

)insert

(root-

>lchild, x)

;else

insert

(root-

>rchild, x)

;}

在上述**中,關鍵點在於形參指標root必須使用引用&,這樣既可以訪問root指標指向的區域,還可以改變root本身值(即root本身所代表的位址值,這與非指標形參的引用是一樣的)。打個比方,引用是在使用同乙個容器的基礎上替換了容器內的東西,而非引用是複製了乙個相同的容器,在這個複製的容器中進行內容的替換,因此不會對原容器造成影響。對指標形參的引用並不會造成直覺上可能發生的斷鏈等問題。

引用形參 指標形參的使用

引用形參 指標形參可以改變主函式內的實參值 includeusing std cin using std cout using std endl 形參其實是在把實參傳遞給子函式的時候定義了乙個新的變數,但是這個變數的值和實參相等,所以在子函式裡無論怎麼修改都不會影響到呼叫它的函式的實參的值 int ...

非引用形參VS指標形參VS引用形參

一 非引用形參 voidadd1 intv1 這是最普通的形參方式,當函式被呼叫時,呼叫拷貝建構函式,生產乙個新的例項,函式所有的修改,都是對新的例項的修改 函式退出之前,會呼叫析構函式,資源。二 指標形參 voidadd2 int p 使用指標做為函式的形參,同樣指標的值 指標的位址 不會因為 p...

指標形參與引用形參

看了很多關於指標形參和引用形參的解答,不盡人意。指標形參使用情形 1 標準的c中,c沒有引用 2 形參可以為空 引用形參使用情形 1 形參不可以為空,總指向某個物件 指標形參 指標的行為和其他非引用型別一樣,當執行指標拷貝操作時,拷貝的是指標的值,拷貝之後,兩個指標是不同的指標,如 int n 0,...