廣州尚觀科技 c 基礎知識 const

2021-08-20 13:56:05 字數 1001 閱讀 7169

const關鍵字表示限定為唯讀

const int *p ; //表示不能通過指標變數

p來改變位址上的值

我們需要寫一函式僅僅是接收引數的位址,而不會改變它的值時,就可以使用

const.

如乙個函式

:void func(conststudent * p); 這樣反映出我們需傳遞

student變數的位址,函式裡面不改變它的值,而且我們在傳遞前,必須初始化變數的值

.char *strcpy(char*dest, const char *src); 可看出

src僅僅是取值,不會改變的。而

dest沒有

const的修飾,則會改變它指向空間上的內容

.int *const p;//表示不能改變指標變數指向的位址.在

c++裡的函式成員也可以加上

const修飾符,可以限定此函式體內不能改變類物件的所有屬性成員.如

:12 #include

34 using namespacestd;

56 class mycls

1617 stringget_name() const

18 22 };

2324 int main(void)

25 {

2627 return 0;

編譯時發生的錯誤

:[root@localhost08const]# g++ test.cpp

test.cpp: in memberfunction 『std::string mycls::get_name() const』:

test.cpp:19:6:error: assignment of member 『mycls::id』 in read-only object

id = 88;

^c++的函式成員帶

const修飾符,除了限定函式體內不能改變屬性成員的值

(區域性變數這些還是可以改的

)外, 還反饋出此函式僅僅是用於獲取屬性成員的值

.

C 基礎知識

抽象類 abstract class 一種不可以被例項化的類。抽象類中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類的抽象方法後才能被例項化。介面 inte ce 只含有共有抽象方法 public abstract method 的類。這些方法必須在子類中被實現。反射 程式集包含模...

c 基礎知識

或運算的意義是什麼 0 0 0 0 1 1 1 0 1 1 1 1 無進製與運算的意義是什麼 在vc中,視窗的每個屬性對應乙個只有一位為1的16位的二進位制數,當增加某屬性做或運算 即可,取消某個屬性只需與 上這個屬性的取反。cs.style ws maximizebox 和cs.style cs....

C 基礎知識

1 malloc和new區別與聯絡 a malloc malloc為函式,需要標頭檔案,申請的無型別,需要強制轉換 free釋放。示例 char p char malloc 10 sizeof char free p b new new是運算子,不需要標頭檔案,申請的是有型別的,自動呼叫建構函式 d...