您好,登錄后才能下訂單哦!
本篇內容主要講解“C++重載的單目運算符有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++重載的單目運算符有什么作用”吧!
C.166: 重載的單目運算符&只能用于智能指針和引用
取地址運算符&是C++的基本要素,C++語義的很多地方為它設定了默認含義。
Example(示例)
class Ptr { // a somewhat smart pointer
Ptr(X* pp) :p(pp) { /* check */ }
X* operator->() { /* check */ return p; }
X operator[](int i);
X operator*();
private:
T* p;
};
class X {
Ptr operator&() { return Ptr{this}; }
// ...
};
如果你要"招惹"&運算符,一定要確保它的結果類型和->,[],*和 . 相匹配。注意 . 運算符現在不能被重載,因此不可能實現完美系統。
Enforcement(實施建議)
不好辦。如果定制了&運算符卻沒有為結果定義->運算符,報警。
到此,相信大家對“C++重載的單目運算符有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。