函數(shù)聲明后面的const 函數(shù)后加const啥意思?
函數(shù)后加const啥意思?C在函數(shù)后加const的含義:在我們定義的類的成員函數(shù)中,經(jīng)常有一些成員函數(shù)不改變類的數(shù)據(jù)成員,也就是說這些函數(shù)是“只讀”函數(shù),有些函數(shù)需要修改類的數(shù)據(jù)成員的值。如果不改變數(shù)
函數(shù)后加const啥意思?
C在函數(shù)后加const的含義:在我們定義的類的成員函數(shù)中,經(jīng)常有一些成員函數(shù)不改變類的數(shù)據(jù)成員,也就是說這些函數(shù)是“只讀”函數(shù),有些函數(shù)需要修改類的數(shù)據(jù)成員的值。如果不改變數(shù)據(jù)成員的函數(shù)用const關鍵字標記,顯然可以提高程序的可讀性。實際上,它還可以提高程序的可靠性。它被定義為const的成員函數(shù)。如果試圖修改數(shù)據(jù)成員的值,編譯器會將其視為錯誤。常量成員函數(shù)和常量對象實際上,常量成員函數(shù)還有另一個函數(shù),即常量對象關聯(lián)。對于內(nèi)置數(shù)據(jù)類型,我們可以定義它們的常量,對于用戶定義的類,我們還可以定義它們的常量對象。
const(一):(轉)一個函數(shù)名后面加const表示什么意思?
這是將整個函數(shù)修改為const,這意味著“不能更改函數(shù)體中的成員數(shù)據(jù)”。如果聲明此類的const實例,則它只能調(diào)用用const修飾的函數(shù)。例如:<pret t=“code”L=“CPP”> class text{public:void printcont(void)const{cout<“Hello”<<endl}void print(void){cout<<“Hello”<<endl}private:int k}const text A//常量對象int main(void){A.printcont()//OK A.print()//上面定義了類text的錯誤//上面的a.print()調(diào)用是非法的。return 0}const對象只能調(diào)用const成員函數(shù)。無法修改const對象的值。在const member函數(shù)中修改const對象的數(shù)據(jù)成員的值是一個語法錯誤。在常量函數(shù)中調(diào)用非常量成員函數(shù)是一個語法錯誤
表示該函數(shù)的返回值不能修改。這樣的函數(shù)稱為常量成員函數(shù)。
常量成員函數(shù)可以理解為“只讀”函數(shù)。它既不能更改數(shù)據(jù)成員的值,也不能調(diào)用那些可以更改數(shù)據(jù)成員值的成員函數(shù)。它只能調(diào)用常量成員函數(shù)。
c 中為什麼有的函數(shù)后面加const這是什么意思啊,求高手解釋?
每個類成員都有一個指向調(diào)用成員函數(shù)的類對象的隱式this指針。成員函數(shù)的形式參數(shù)列表后面的const修改這個,即classname cnconst。類名*CP=&CN。這相當于CP,它是指向const對象的指針。因此,const member函數(shù)無法寫入對象