指向資料成員的指標

2021-08-22 14:18:14 字數 511 閱讀 1356

指向資料成員的指標

飄飄白雲

資料成員的指標有兩種含義,一種是沒有繫結具體物件的資料成員指標,其位址實際是該資料成員在類布局結構中的位移;另一種是繫結了具體物件的的資料成員指標,其位址是該物件的該資料成員在記憶體中的位址。下面參照書中的例子用vs2005中在32位的機器上寫了個測試程式。

輸出結果:

第一行是輸出8,可以理解,前面有兩個整型資料(4+4 = 8),故位移為8;

第二行理應輸出4,但在vs2005中得到的是0,大概是編譯器做了些類似於空基類的優化處理。

第三行是輸出記憶體位址以及5。

#include

class

base1 ;

class

base2 ;

class

derived :

public

base1,

public

base2 ;

int_tmain(int

argc, _tchar* argv)

指向資料成員的指標

指向資料成員的指標 收藏 指向資料成員的指標 指向資料成員的指標,是乙個有點神秘又頗有用處的語言特性,特別是如果你需要詳細調查class members的底層布局的話。這樣的調查可以用於決定vptr是放在class的起始處或者尾端。另外乙個用途是可以用來決定class中的access section...

指向成員的指標

1 從封裝的角度看,類可認為是乙個命名空間,名稱就是類名。類中有兩個成員 欄位和方法。2 指標可以指向任何物件,當然也可以指向類中的字段和方法。那麼該如何指向類中的字段和方法呢?3 分別是 int animal pdata animal age int animal pfun animal geta...

指向類資料成員 類成員函式的指標

成員指標是指可以指向類的非靜態成員的指標,一般情況下指標指向乙個物件,但是成員指標指示的是類的成員,而非類的物件,類的靜態成員不屬於任何物件,因此無須特殊的指向靜態成員的指標,指向靜態成員的指標與普通指標沒有什麼區別,成員指標的型別囊括了類的型別以及成員的型別,當初始化乙個這樣的指標時,我們令其指向...