this指標的型別

2021-07-04 19:07:30 字數 434 閱讀 9628

通常情況下,當物件是非const 常量時,this指標的型別是 myclass * const, 也就是指標常量,不能改變指標的指向 ; 當物件是const 常量時,this 指標的型別是 const myclass const*.

常量成員函式希望接受的this 指正的型別就是 const myclass* const, 於是,想在常量成員函式中,改變成員變數的狀態,可以這樣

void f()

或者使用c++風格的去掉const 屬性

(const_castthis)->state = ...

當然,還有一種常見的方法,就是把state 成員申明為mutable:

mutable int state;

指標的型別

c語言中的指標型別用於告訴指標,其所指向的位址存放什麼資料型別,而指標本身占用8個位元組 64位編譯器 的大小跟型別無關。但對指標進行輸入 輸出操作時,指標的型別卻至關重要。例如輸出時,如果指標定義為char型別,則指標會從所指向的位址至記憶體高位尋找1byte 64位編譯器 的內容輸出。如果定義為...

指標的型別與指標所指向的型別

指標的型別和指標所指向的型別很明顯是不一樣的東西,但好多情況下卻容易忽視它們的區別。指標的型別是指標自身的型別,而指標所指向的型別是指標指向的資料 記憶體 的型別。從語法上來看,我們只要把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別。如 1 int ptr 指標的型別是 int 2ch...

關於指標型別和指標型別轉換的理解

前幾天在判斷 值相同的兩個指標所指向的變數的值可以不同 一些用到的 開始之前,先來複習一些會用到的知識。1.位址,位元組,位 位 bit 是電子計算機中最小的資料單位。每一位的狀態只能是0或1。位元組 byte 是用於計量儲存容量的一種單位,每乙個位元組由8位組成 1byte 8bit 位址可以理解...