91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++運算符重載限制是什么

發布時間:2022-01-04 00:39:22 來源:億速云 閱讀:162 作者:柒染 欄目:開發技術

這期內容當中小編將會給大家帶來有關C++運算符重載限制是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、重載限制

上一篇我們講了在類和結構體當中重載運算符,關于運算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規范,以及程序運行的準確性。

下面我們就來一一來看下:

1.必須至少有一個操作數是用戶定義的類型

這句話看不明白沒有關系,我們只需要記住它的目的就好了。它的主要目的是為了防止用戶為了標準類型重載運算符。比如將+重載成兩個數的差,而不是和。

這種限制對創造性有一定的影響,沒有那么靈活,但可以保證程序的正常運行。不會出現一些反人類的情況

2.不能違反運算符原來的規則

這一點很好理解,比如+號,它的運算就是計算兩個數的和。需要有兩個操作數,現在我們把它重載成一個操作數,就是違法的。

P p;
+p;

同樣,我們也不能修改運算符的優先級,如果將加號運算符重載成兩個類相加,那么新的運算符和原來的加號擁有一樣的優先級。

3.不能創建新運算符

這一點之前已經說過了,比如不能定義operator @等這種原來沒有的運算符。

4.禁止名單

有一些運算符是禁止重載的,如:sizeof, ., ::, ?:, typeid, const_cast, dynamic_cast, reinterpret_cast, static_cast

這些運算符往往都有特殊的功能,直接從實現層面禁止重載。

5.部分運算符只能通過成員函數重載

大多數運算符都可以通過成員函數以及非成員函數進行重載,但也有部分例外,只能通過成員函數重載,

如:

  • =:賦值運算符

  • (): 函數調用運算符

  • []: 下標運算符

  • ->: 箭頭符號

這里的非成員函數看起來有些費解,之后我們會遇到,主要是指友元函數。

上述就是小編為大家分享的C++運算符重載限制是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮南市| 嵊泗县| 炎陵县| 杭锦旗| 五莲县| 惠安县| 霍山县| 依兰县| 江川县| 永胜县| 金溪县| 唐山市| 双峰县| 湟源县| 云霄县| 江川县| 抚顺县| 德庆县| 普定县| 黄骅市| 靖江市| 增城市| 年辖:市辖区| 武陟县| 弥勒县| 囊谦县| 巨鹿县| 依兰县| 开化县| 黎城县| 邢台市| 吐鲁番市| 阿坝县| 昭平县| 仁怀市| 灵璧县| 彰化市| 石棉县| 怀仁县| 贞丰县| 中超|