c 中使用const保護資料

時間 2022-06-30 17:10:03

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 ...