const真有點煩

2022-07-25 05:09:09 字數 1372 閱讀 4042

在c++中const代替#define的操作,當定義乙個const時必須附乙個值給它:const int size = 100;通常c++編譯器不為const建立儲存空間,相反它把這個定義儲存在符號表裡。

常見const的幾種定義區別:

const int a; 或 int const a; a為常量不可更改。

int const* c; 或const int * c; 修飾變數,指標指向的內容(值)不可變。

int* const d; 修飾指標,指標指向的位址不可變。

const int * const d;或int const * const d;指標的位址和內容均不可改變。

修飾函式引數:

1

void(const

inti)25

6//為了是理解更加直觀應該在函式內部用const限定,避免呼叫者混淆。78

void(int

ic)9

6.返回const值

對於內建型別來說,返回值是否是乙個const,並不重要。例如

1

intf() 25

6const

intg()710

11int

main()

1216

17 都可以正常執行;

7.傳遞和返回位址

1

void t(int*i) 23

void u(const

int*cip)49

10const

char*v()

1114

15const

int* const

w()

1620

21int

main()

22

8.類中的const

為了保證乙個類物件為常量,const成員函式只能對於const物件呼叫。如果宣告乙個const型別的成員函式,則該成員函式可以被乙個const物件所呼叫。乙個沒有被明確宣告為const的成員函式被看成是將要修改物件中資料成員的函式,且編譯器不允許被const物件所呼叫。定義const型別的成員函式不是const int func();這個只是表示函式的返回值為const,正確的const成員函式為int func() const;這個格式才表示函式為const型別,才能被const物件呼叫。

1

classx2

3;910 x::x(int

ii) :i(ii)

11int x::func() const

//關鍵字const必須同樣出現在定義裡,不然會認為不是乙個函式

1215

16int

main()

17

虛擬化,有點煩

很早就在用 vmware workstation,後來是 vmware gsx,esx,virtual pc,virtual server 2005 r2,hyper v 幾乎都用遍了,最近在網上看到一些虛擬化名詞,又一頭霧水,不免又去搜了很多資料,貼上如下,留供參考。虛擬化技術,看來還是任重道遠啊...

最近Android有點煩

很久沒有寫部落格了,最近一直忙著公司的專案,剛剛發布了我們的goodteamlab 實驗室系列作品的第一款,我們也在不斷的嘗試 調整 創新,希望能給大家帶來更多 更好的遊戲。最近感覺android有點 煩 有點 亂 其實跟我之前提到android高速成長背後付出的代價是乙個道理,任何事物的發展過快必...

真有點就業壓力

過完國慶招聘會立刻多了起來。原本假期實習結束就計畫安心的過完最後一年,不參加招聘,不參加實習,畢竟以後工作的機會有的是,而校園時間真的不多了。幾天前去圖書館,看著滿屋子的書不禁有點感慨,大學就沒來過圖書館幾回,快畢業了卻對這些書捨不得起來。然而我的計畫始終沒有和行動一致過,開學後繼續進行實習,不過遺...