Const修飾函式

2021-09-19 01:10:50 字數 672 閱讀 7110

用const修飾函式的返回值

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

const char * getstring(void);
如下語句將出現編譯錯誤:
char*str = getstring();
正確的用法是
const char *str =getstring();
如果函式返回值採用「值傳遞方式」,由於函式會把返回值複製到外部臨時的儲存單元中,加const修飾沒有任何價值。

例如不要把函式intgetint(void) 寫成constint getint(void)。

同理不要把函式ageta(void) 寫成consta geta(void),其中a為使用者自定義的資料型別。

如果返回值不是內部資料型別,將函式ageta(void) 改寫為consta &geta(void)的確能提高效率。但此時千萬千萬要小心,一定要搞清楚函式究竟是想返回乙個物件的「拷貝」還是僅返回「別名」就可以了,否則程式會出錯。

函式返回值採用「引用傳遞」的場合並不多,這種方式一般只出現在類的賦值函式中,目的是為了實現鏈式表達。

const修飾函式

include using namespace std class a a a intage void a printage const void a eat test.cpp 定義控制台應用程式的入口點。include stdafx.h include include a.h using name...

const修飾成員函式

1 常量限定修飾符,它把乙個物件轉換為常量 constant const物件必須初始化而且是在定義的同時。初始化後的const物件 或指標 是不能修改的。2 修飾成員函式 const類物件只能呼叫const成員函式,不能呼叫普通成員函式 const成員函式不能修改類的成員變數,若要修改則用mutab...

Const 修飾成員函式的作用

const 修飾成員函式的作用.黑月亮 發表於 2005 8 7 16 50 00 const成員函式 任何不會修改資料成員的函式都應該宣告為const型別。如果在編寫const成員函式時,不慎修改了資料成員,或者呼叫了其它非const成員函式,編譯器將指出錯誤,這無疑會提高程式的健壯性。以下程式中...