c++中的引用相當於給變數多起了乙個名字,很多人認為指標型別的引用是沒有必要的,認為指標本身就指向一塊位址,我們可以通過位址來傳值,
但是是不是沒有必要用引用呢?
下面的**中
qaction*action=null; //宣告乙個qaction物件的指標,且讓它指向空
ret=ret&&makeaction(action,"auto
wrap",
":/res/pic/wrap.png"); //呼叫makeaction()函式,並且把宣告的action作為形參
c++這樣傳遞乙個指標,那麼相當於值傳值,並不能讓之前宣告的 action指向新開闢的那個空間,我們需要加上引用,讓action代表同一變數,
所以我們需要改變一下函式,改為 boolmainwindow
::makeaction(
qaction
*&action,
qstring
text,
intkey)
把 qaction設定成指標的引用即可。
boolmainwindow::initformattoolitem(q********tb)
ret=ret&&makeaction(action,"font",
":/res/pic/font.png");
if(ret)
return
ret;
}
boolmainwindow::makeaction(qaction*action,
qstring
text,
intkey)
else
return
ret;
}
C 中 和 的區別
在c語音中 代表指標,代表位址 在c 中 代表指標,而 代表引用,而 代表指標引用 複習一下,指標是乙個變數 它的值是乙個位址 而指標引用指的是這個變數的引用 在c 中如果引數不是引用的話會呼叫引數物件的拷貝建構函式,所以如果有需求想改變指標所指的物件 換句話說,就是要改變指標裡面存的位址 就要使用...
C 中 和 運算的區別
1 運算子 用於通過物件名和成員運算子訪問物件中的成員 這種引用方式的一般形式為 物件名.成員名 如例子 stud1.display 例子中stud1為物件名,而display 為物件stud1的成員函式,通過這種方式,可以實現對類中函式的呼叫,在呼叫的時候要注意成員函式是public privat...
c 中「 」和Equals的區別
一 值型別的比較 對於值型別來說 兩者比較的都是 內容 是否相同,即值 是否一樣,很顯然此時兩者是劃等號的。int i 9 int j 9 console.writeline i j i j true console.writeline i.equals j i.equals j true 二 引用...