最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++運(yùn)算符重載限制介紹

 更新時間:2022年01月03日 12:00:13   作者:?梁唐?  
這篇文章主要介紹了C++運(yùn)算符重載限制,關(guān)于運(yùn)算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規(guī)范,以及程序運(yùn)行的準(zhǔn)確性,下面來了解C++運(yùn)算符重載限制的詳細(xì)內(nèi)容吧,需要的朋友也可以參考一下

 文章轉(zhuǎn)自公眾號:Coder梁(ID:Coder_LT)

一、重載限制

上一篇我們講了在類和結(jié)構(gòu)體當(dāng)中重載運(yùn)算符,關(guān)于運(yùn)算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規(guī)范,以及程序運(yùn)行的準(zhǔn)確性。

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

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

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

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

2.不能違反運(yùn)算符原來的規(guī)則

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

P p;
+p;

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

3.不能創(chuàng)建新運(yùn)算符

這一點之前已經(jīng)說過了,比如不能定義operator @等這種原來沒有的運(yùn)算符。

4.禁止名單

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

這些運(yùn)算符往往都有特殊的功能,直接從實現(xiàn)層面禁止重載。

5.部分運(yùn)算符只能通過成員函數(shù)重載

大多數(shù)運(yùn)算符都可以通過成員函數(shù)以及非成員函數(shù)進(jìn)行重載,但也有部分例外,只能通過成員函數(shù)重載,

如:

  • =:賦值運(yùn)算符
  • (): 函數(shù)調(diào)用運(yùn)算符
  • []: 下標(biāo)運(yùn)算符
  • ->: 箭頭符號

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

到此這篇關(guān)于C++運(yùn)算符重載限制介紹的文章就介紹到這了,更多相關(guān)C++運(yùn)算符重載限制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解C++ 重載運(yùn)算符和重載函數(shù)

    詳解C++ 重載運(yùn)算符和重載函數(shù)

    這篇文章主要介紹了C++ 重載運(yùn)算符和重載函數(shù)的的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 關(guān)于C++對象繼承中的內(nèi)存布局示例詳解

    關(guān)于C++對象繼承中的內(nèi)存布局示例詳解

    這篇文章主要給大家介紹了關(guān)于C++對象繼承中內(nèi)存布局的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • C語言中聯(lián)合體與共用體和枚舉使用語法示例

    C語言中聯(lián)合體與共用體和枚舉使用語法示例

    這篇文章主要介紹了C語言中聯(lián)合體與共用體和枚舉使用語法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • C++ 類的友元機(jī)制解讀

    C++ 類的友元機(jī)制解讀

    這篇文章主要介紹了C++ 類的友元機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-02-02
  • C++獲取本機(jī)登陸過的QQ號碼示例程序

    C++獲取本機(jī)登陸過的QQ號碼示例程序

    這篇文章主要介紹了使用C++獲取本機(jī)登陸過的QQ號碼列表的程序示例,大家可以參考使用
    2013-11-11
  • C++ OpenCV單峰三角閾值法Thresh_Unimodal詳解

    C++ OpenCV單峰三角閾值法Thresh_Unimodal詳解

    本文主要介紹了適合當(dāng)圖像的直方圖具有明顯單峰特征時使用,結(jié)合了三角法的原理而設(shè)計的圖像分割方法,感興趣的小伙伴可以了解一下
    2021-12-12
  • C語言 structural body結(jié)構(gòu)體詳解用法

    C語言 structural body結(jié)構(gòu)體詳解用法

    C 數(shù)組允許定義可存儲相同類型數(shù)據(jù)項的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許您存儲不同類型的數(shù)據(jù)項,結(jié)構(gòu)用于表示一條記錄,假設(shè)您想要跟蹤圖書館中書本的動態(tài),您可能需要跟蹤每本書的下列屬性
    2021-10-10
  • C++相交鏈表和反轉(zhuǎn)鏈表詳解

    C++相交鏈表和反轉(zhuǎn)鏈表詳解

    這篇文章主要介紹了C++相交鏈表和反轉(zhuǎn)鏈表,結(jié)合實例形式分析了C++相交鏈表和反轉(zhuǎn)鏈表的原理、實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2021-08-08
  • 從匯編看c++中多態(tài)的應(yīng)用

    從匯編看c++中多態(tài)的應(yīng)用

    本篇文章是對c++中多態(tài)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++淺析類與對象基礎(chǔ)點

    C++淺析類與對象基礎(chǔ)點

    類和對象是兩種以計算機(jī)為載體的計算機(jī)語言的合稱。對象是對客觀事物的抽象,類是對對象的抽象。類是一種抽象的數(shù)據(jù)類型;變量就是可以變化的量,存儲在內(nèi)存中—個可以擁有在某個范圍內(nèi)的可變存儲區(qū)域
    2022-07-07

最新評論

河津市| 濮阳市| 当雄县| 安义县| 循化| 雅安市| 惠来县| 怀柔区| 乌苏市| 阿合奇县| 白城市| 麦盖提县| 雅安市| 淄博市| 卓资县| 兴仁县| 遂昌县| 墨竹工卡县| 临泉县| 金平| 长阳| 公安县| 金山区| 陇西县| 田阳县| 游戏| 永平县| 鄂托克前旗| 曲松县| 九台市| 海丰县| 宁阳县| 黎平县| 卢龙县| 紫金县| 鹤庆县| 新竹县| 广水市| 巨鹿县| 汪清县| 南安市|