c 物件模型和this指標

2022-07-22 07:51:12 字數 703 閱讀 3701

成員變數和成員函式分開儲存

類內的成員變數和成員函式分開儲存

只有非靜態成員變數才屬於類的物件上,靜態成員變數以及函式都不屬於物件

空物件占用記憶體空間為1

c++編譯器會給每隔空物件也分配乙個位元組空間,是為了區分空物件佔記憶體的位置

每個空物件也應該有乙個獨一無二的記憶體位址

this指標的概念

每個非靜態成員函式只會誕生乙份函式例項,多個同型別的物件會共用一塊**,this指標指向被呼叫的成員函式所屬的物件

this指標是隱含每乙個非靜態成員函式內的一種指標

this指標不需要定義,直接使用即可

this指標的用途

當形參和成員變數同名時,可以用this指標來區分

在類的非靜態成員函式中返回物件本身,可使用return *this

const 修飾成員函式

常函式

成員函式後加const後稱這個函式為常函式

常函式內不可以修改成員屬性

成員屬性宣告加關鍵字mutable後,在常函式中依然可以修改

常物件

宣告物件前加const稱該物件為常物件

常物件只能呼叫常函式

c 物件模型和this指標

1.成員變數和成員函式分開儲存 在c 中類內的成員變數和成員函式分開儲存,只有非靜態的成員變數才屬於類的物件上 c 編譯器會給每個空物件也分配乙個記憶體空間,是為了區分空物件佔記憶體的位置 this指標是隱含每乙個非靜態成員函式內的一種指標 this指標不需要定義,直接使用即可 this指標指向被呼...

C 物件模型和this指標

在c 中,類內的成員變數和成員函式分開儲存 只有非靜態成員變數才屬於類的物件上 include using namespace std 成員變數 和 成員函式 是分開儲存的 class person static void func2 靜態成員函式,不佔物件空間 int person m b 10 ...

C 筆記 物件模型和this指標

c 中,類內的成員變數和成員函式分開儲存,只有非靜態成員變數才屬於類的物件 空物件也會占用記憶體 c 編譯器會給每個空物件也分配乙個位元組空間,是為了標誌此物件佔記憶體的位置。每個空物件也應該有乙個獨一無二的記憶體位址 class person cout size of p sizeof p end...