C在函式宣告時,後面跟個const是什麼意思

2021-03-05 09:21:59 字數 2492 閱讀 9893

1樓:幻翼高達

c++在函式宣告時,後面跟個const是限定函式型別為常成員函式, 常成員函式是指不能改變成員變數值的函式。

例如「double d() const;」,其中的其中的「const」限定了d()函式中不能有任何改變其所屬物件成員變數值的功能,如果有則會在編譯階段就報錯。

它的主要作用就是能使成員函式的意義更加清楚,我們可在不改變物件的成員函式的函式原型中加上const說明。在需要增加可讀性和減少邏輯出錯的情況下,就可以用這種形式。

我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是"只讀"函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。

另外,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值,則編譯器按錯誤處理。

2樓:釗鉼

const是一個c語言(ansi c)的關鍵字,具有著舉足輕重的地位。它限定一個變數不允許被改變,產生靜態作用。

使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別人**的時候,清晰理解const所起的作用,對理解對方的程式也有一定幫助。另外const在其它程式語言中也有出現,例如pascal、c++、php5、b#.

***、hc08 c、c#等。

const的作用:

1、可以定義const常量,具有不可變性。

2、便於進行型別檢查,使編譯器對處理內容有更多瞭解,消除了一些隱患。

3、可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!

c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式設計語言的問題描述能力。

3樓:匿名使用者

這兒的const就是說這個函式操作不會對變數或是物件之類的值有影響 比如你有一個human類 你現在要得到某個human類物件a的age 那麼肯定是不會因為你想得到這個值而改變了age的大小 對吧 那麼你就可以寫一個函式int getage()const這樣就好 這麼做是為了防止你在函式中對不應該在這裡改變的量不小心進行了改變

4樓:韌勁

非靜態成員

函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤),表示成員函式隱含傳入的this指標為 const指標,決定了在該成員函式中,任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);唯一的例外是對於 mutable修飾的成員。加了const的成員函式可以被非const物件和const物件呼叫,但不加const的成員函式只能被非const物件調 用。例如:

class a

int geta() const

int geta()

int seta(int a) constint seta(int a)

};a a1;

const a a2;

int t;

t = a1.geta();

t = a1.geta();

t = a2.geta();

t = a2.geta(); //a2是const物件,呼叫非const成員函式產生編譯錯誤。

5樓:淼淼

const修飾說明它是一個常量,它的值是不能被修改的。沒有什麼地方是必須要用的,你只要覺得這個數字你不會改變就可以用。一般在函式傳遞引數中用的比較多,你可以看看c語言的庫函式引數中很多都是用const修飾的。

比如字串拷貝的宣告函式char *strcpy(char *dest,const char *src); 後邊的形參用了const修飾,在函式定義中src的值就不能被改變,dest的值就可以被改變,也是一種提示的作用說明字串是從src拷貝到dest中

c++中的類成員函式後面的const是什麼意思??

6樓:匿名使用者

後面的const用來表示不能夠在函式內修改該類的成員變數。

7樓:使命聽一聽召喚

修飾類的成員函式,表示該函式不能修改物件資料成員的值。

並且const物件只能呼叫const成員函式。

8樓:紫色學習

c++中的類成員函式後面的const是用來表示不能夠在函式內修改該類的成員版變數。

c++是在權c語言的基礎上開發的一種通用程式語言,應用廣泛。c++支援多種程式設計正規化 --物件導向程式設計、泛型程式設計和過程化程式設計。最新正式標準c++14於2023年8月18日公佈。

其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:類、封裝、過載等特性!

C語言中函式宣告的位置有幾種,在C語言中,函式定義跟函式宣告有什麼區別有什麼不同之出?

1.把子函式放主函式main函式外並且是之前定義,無需宣告。2.如果你把子函式放到main函式外,則必須在定義的時候先宣告。3.如果把 子函式放在main函式中就不需要提前宣告瞭。首先,你提的問題就有問題。c是一門程式語言,函式是在源 裡面宣告的。所以你該問在c語言編寫的源 裡,函式宣告的位置有幾種...

c中如何宣告函式,該函式返回指向兩個int值的陣列

返回陣列就是返回陣列的首地址,也就是 int 可以了 int funname 引數 二樓是正確的 對於這種宣告,最好採用typedef命令來實現,這樣 看起來舒服一些 typedef int new type 2 定義一個新的資料型別,指向一個兩個int的指標 new type name new t...

C 中函式預設值的問題,c 函式宣告裡面帶有預設值的小問題

函式中有多個預設引數,則形參應從最右邊依次向左設定。意思是,當第i 個引數有預設值時,第i 1,i 2,i 3 直到最後一個引數都必須 給預設值。否則語法錯。void point int x,int y 0,int z 0 對 void point int 0,int,int 0 錯 void po...