1樓:手機使用者
為什麼使用const string &?
既可以避免修改傳入的引數,又可以避免引數的拷貝。
如果此函式聲名的是void change(string)這樣的,那麼它的引數是string。這樣在呼叫該函式時,函式將傳入的引數會被拷貝一份副本,也就是說函式中實際使用的是函式的傳入實參的副本。而使用string & 作為引數時可以就避免了引數的拷貝,函式中實際使用的是函式的傳入引數本省,這樣就可能會修改所傳入的引數,因此加一個const就既可以避免修改傳入的引數,又可以避免引數的拷貝。
2樓:倉麻木衣
1.在變數前加上const是為了確保在這個函式裡不改變變數的值,防止誤操作.
2.string&的意思是引用變數,引用的好處是沒有指標的煩惱,卻有類似指標的強大功能.引用是直接引用變數的地址,不用拷貝一個新物件.對於比較大的類,可以提高執行速度.
3樓:匿名使用者
void change(const string&); 中const的意思是後面的所定義變數在函式change中不可被改變,string後面的取地址符號是指形參為string引用型別
4樓:吳小王
在c++中,函式的傳參基本上都是用&,在這裡,它不是取地址,它不同c,而有了一個新名字---引用。但是別的地方還是跟c一樣。
其它的如樓上所說……
5樓:鄭誠的祕密
那是引用符,只是和取地址符一樣 ,傳遞引用可以不使用副本,而是直接只用原變數,因此可以修改原變數的值
6樓:匿名使用者
他們給的答案夠詳細了,怎麼還沒采納呢?
C語言對const使用該如何理解
const int pointer array 這裡的 pointer是常量指標 它指向固定的的記憶體單元,並且不能指向別的記憶體單元 但可以改變記憶體裡的值 可以通過 運算子 比如 pointer 1 即給陣列的第一個元素賦值為1 而用你的方法,int pointer1 int pointer 其...
如何在c中使用c的string型別
來自郡王府帥帥的迎春花 先搞清楚c 中的string用什麼文字編碼的?比如ansi,unicode,utf 8等.然後傳過來的時候作為位元組陣列傳,也就是byte.在c 裡面採用memorystream接收該byte陣列,再用根據文字編碼,使用streamreader將memorystream的內容...
如何在c 中使用系統的dll檔案
dll和普通可執行程式的區別只在於入口函式而已。其他都一樣。exe的入口在啟動的時候呼叫,而且僅此一次 以winmain形式存在。dll則是會在被程序載入,程序關閉,執行緒建立和退出的時候都會被呼叫 以dllmain的形式存在。如果你用builder c 用vc 類似 1.開啟bcb 新建 dll ...