C++_14_常量指標—this指標
阿新 • • 發佈:2021-12-21
常量指標—this指標
this指標:成員函式一般都會擁有一個常量指標(this),指向呼叫函式的物件,儲存的是改物件的首地址(注意:靜態成員函式是沒有this指標的)
//標準寫法 class book { public: book(){this->price = 0.0; this->title = NULL;} private: double price; char * title; };
//常用寫法(省略this) class book { public: book(){price = 0.0; title = NULL;} private:double price; char * title; }; //兩種寫法收拾正確的
通常我們在設計成員函式時會將形參與成員變數設計成同一個名字,如下所示,此時函式定義的時候price = price;
這樣的程式看起來總是有些彆扭的。這個使用如果使用 this 指標則就能很明朗的進行區分兩個 price 了。
class book { public: void setprice(double price) { this->price = price; } private: double price; char * title; };
利用 this->price 表明前面一個 price 為類中的成員變數,而後面一個 price 為形參中的 price。this 指標在此時避免命名衝突產生理解上的歧義。
this 指標是常量指標,它的值是不能被修改的,一切企圖修改該指標的操作如賦值、遞增、遞減等都是不允許的。
此外 this 指標只非 static 成員函式中才是有效的,因為static成員函式是屬於類的公有資源沒有this指標