C const 的其它用法

2022-08-31 11:06:10 字數 960 閱讀 9112

看到 const 關鍵字,c++程式設計師首先想到的可能是 const 常量。這可不是良好的條件反射。如果只知道用 const 定義常量,那麼相當於把火藥僅用於製作鞭炮。const 更大的魅力是它可以修飾函式的引數、返回值,甚至函式的定義體。《高質量程式設計c++指南》

const 是 constant 的縮寫,「恆定不變」的意思。被 const 修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。

1.用const修飾函式的引數

如果引數作輸出用,不論它是什麼資料型別,也不論它採用「指標傳遞」還是「引用傳遞」,都不能加 const 修飾,否則該引數將失去輸出功能。

const 只能修飾輸入引數:  

如果輸入引數採用「指標傳遞」,那麼加 const 修飾可以防止意外地改動該指標,起到保護作用。 例如 stringcopy 函式:

void stringcopy(char *strdestination, const char *strsource);

其中 strsource 是輸入引數,strdestination 是輸出引數。給 strsource 加上 const 修飾後,如果函式體內的語句試圖改動 strsource 的內容,編譯器將指出錯誤。

2.用 const 修飾函式的返回值

如果給以「指標傳遞」方式的函式返回值加 const 修飾,那麼函式返回值(即指標)的內容不能被修改,該返回值只能被賦給加 const 修飾的同型別指標。 例如函式

const char * getstring(void);

如下語句將出現編譯錯誤:

char *str = getstring();

正確的用法是

const char *str = getstring();

linux建立其它使用者

簡單一點的命令 sudo useradd mk home test2 s bin bash test2 sudo passwd test2 如果將上面的步驟分解乙個乙個來做 sudo mkdir home test3 sudo useradd d home test3 s bin bash test...

訪問其它使用者下的物件

宣告 scott或 hr叫使用者名稱 方案名 空間名 scott tiger hr lion 1 查詢當前使用者是誰 show user 2 查詢scott自己表空間下的所有物件時,可加,或不加使用者名稱 select from emp select from emp 或select from sc...

C const用法總結

const名叫常量限定符,用來限定特定變數,以通知編譯器該變數是不可修改的。使用const,可以避免在函式中對某些不應修改的變數造成可能的改動。非const 變數預設為extern,這樣就不可以被程式其它檔案訪問,要想const變數能夠被在其他的檔案中訪問,必須顯式地指定它為extern,如exte...