本文是針對自己在《c++ primer》一書的學習中在this指標這一小節的一些疑問的提出,以及最終解決的過程,希望能為大家提供一些有用經驗分享。
主要解決的疑問是:同一物件的不同成員函式之間是否是同乙個this指標,以及不同型別成員函式中的this指標有何不同?
說明:
模擬比較:
//模擬,例項化乙個物件
int i = 10;
//合法,模擬非常量成員函式的this指標指向乙個非常量物件
int * const p = &i;
//合法,模擬常量成員函式的this指標指向乙個常量物件
const int * const q = &i;
//合法,模擬非常量函式可以通過this指標修改物件的屬性
*p = 12;
/*非法,模擬常量函式不能通過this指標修改物件屬性,
指向常量的指標不允許通過該指針對指向的物件的值進行修改,
但是並沒有規定不能通過其他的方式進行修改,例如*p = 12。
其中p,q存放的是同乙個物件i的位址,但是他們對物件i的操作許可權有區別。*/
*q = 12;
struct sales_data
//2. 常量成員函式
sales_data* isbn() const
string bookno;
unsigned units_sold = 0;
double revenue = 0.0;
};void test1()
int main(void)
hashSet判斷是否是同一物件
將物件放入到集合中時,首先判斷要放入物件的hashcode值與集合中的任意乙個元素的hashcode值是否相等,如果不相等直接將該物件放入集合中。如果hashcode值相等,然後再通過equals方法判斷要放入物件與集合中的任意乙個物件是否相等,如果equals判斷不相等,直接將該元素放入到集合中,...
一 物件模型
在ruby程式中,物件僅僅是其大世界的乙個公民而已,除了物件還有其他語言構件,比如類 class 模組 module 以及例項變數 imstance variable 等,元程式設計操控的就是這些語言構件。所有語言構件存在於其中的系統稱為物件模型,它是ruby的靈魂。1 物件由一組例項變數和乙個類的...
《一》物件和封裝
物件導向 oop 可以從物件提煉出類的概念。物件是類的例項,類是物件的資料型別。從現實世界抽象出類 找出名詞,確定類 屬性 找出名詞,確定方法 剔除與業務無關的屬性和方法 訪問修飾符 構造方法名 3.3 1 靜態變數 不同的類之間需要對同乙個變數進行操作,把共享的變數用static修飾,那該變數為靜...