日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

C++中的逻辑操作符重载

發(fā)布時(shí)間:2025/4/5 c/c++ 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的逻辑操作符重载 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1 C++中的邏輯操作符重載
      • 1.1 邏輯操作符的原生語(yǔ)義
      • 1.2 重載邏輯操作符
      • 1.3 邏輯操作符重載的建議

1 C++中的邏輯操作符重載

1.1 邏輯操作符的原生語(yǔ)義

邏輯操作符的原生語(yǔ)義如下:

  • 操作數(shù)只有兩種值(true和flase)。
  • 邏輯表達(dá)式不用完全計(jì)算就能確定最終值,短路原則。
  • 最終結(jié)果只能是true或者false。

我們先來(lái)看一下邏輯表達(dá)式的輸出結(jié)果:

#include <iostream> #include <string>using namespace std;int func(int i) {cout << "int func(int i) : i = " << i << endl;return i; }int main() {if( func(0) && func(1) ){cout << "Result is true!" << endl;}else{cout << "Result is false!" << endl;}cout << endl;if( func(0) || func(1) ){cout << "Result is true!" << endl;}else{cout << "Result is false!" << endl;}return 0; }

輸出結(jié)果如下:

1.2 重載邏輯操作符

我們看一下重載邏輯操作符后其語(yǔ)義會(huì)發(fā)生什么變化:

#include <iostream> #include <string>using namespace std;class Test {int mValue; public:Test(int v){mValue = v;}int value() const{return mValue;} };bool operator && (const Test& l, const Test& r) {return l.value() && r.value(); }bool operator || (const Test& l, const Test& r) {return l.value() || r.value(); }Test& func(Test& i) {cout << "Test func(Test i) : i.value() = " << i.value() << endl;return i; }int main() {Test t0(0);Test t1(1);if( func(t0) && func(t1) ){cout << "Result is true!" << endl;}else{cout << "Result is false!" << endl;}cout << endl;if( func(t0) || func(t1) ){cout << "Result is true!" << endl;}else{cout << "Result is false!" << endl;}return 0; }


從結(jié)果我們可以看出短路原則失效了!

問(wèn)題的本質(zhì)分析:

  • C++通過(guò)函數(shù)調(diào)用擴(kuò)展操作符的功能。
  • 進(jìn)入函數(shù)體前必須完成所有參數(shù)的計(jì)算。
  • 函數(shù)參數(shù)的計(jì)算次序是不定的。
  • 短路法則完全失效。
  • 雖然C++從語(yǔ)法上支持邏輯操作符重載,但是邏輯操作符重載后無(wú)法完全實(shí)現(xiàn)原生的語(yǔ)義,不滿足短路法則!

    1.3 邏輯操作符重載的建議

    如下建議從上往下依次遞進(jìn),不得已而為之:

    • 實(shí)際工程中避免重載邏輯操作符。
    • 通過(guò)重載比較操作符替代邏輯操作符重載(直接和true和false比較)。
    • 直接使用成員函數(shù)代替邏輯操作符重載。
    • 使用全局函數(shù)對(duì)邏輯操作符進(jìn)行重載。

    參考資料:

  • C++深度解析教程
  • 總結(jié)

    以上是生活随笔為你收集整理的C++中的逻辑操作符重载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品国产一区二区三区久久久蜜月 | 黄色午夜视频 | 香蕉视频国产 | 中文字幕超清在线观看 | 最新中文在线视频 | 中国色视频| 日韩蜜桃视频 | 性色欲网站人妻丰满中文久久不卡 | 精品xxxx | 国产精品扒开腿做爽爽爽视频 | 日本国产视频 | 新版天堂资源中文8在线 | 国产又粗又硬视频 | 亚洲在线观看免费 | 成年人网站在线免费观看 | 熟女自拍一区 | 一级片美女 | 国产无遮掩 | 韩国精品一区二区 | 天天干精品| 日韩在线第三页 | 我和岳m愉情xxxⅹ视频 | 青青草国产在线 | 日本不卡一区视频 | 国产二级毛片 | 欧美黄色一区 | 国产伦精品一区二区三区 | 天天干,夜夜爽 | aaa在线 | 干一夜综合 | 理论片久久 | 久久三级视频 | 大香依人 | japanese在线| 亚洲偷自| 草草影院国产第一页 | 久久高清精品 | 日本一区二区在线观看视频 | av老司机在线播放 | 超碰美女在线 | 最新国产拍偷乱偷精品 | 真人真事免费毛片 | 丰满岳跪趴高撅肥臀尤物在线观看 | 欧美一区二区三区免费 | 国产成人在线播放视频 | 亚洲欧美日韩国产成人精品影院 | 日韩大片免费观看 | 国产一级二级在线 | 欧美高清视频在线观看 | 天天爽夜夜 | 欧美另类tv| 国产精品视频第一页 | www.黄色小说.com | 亚洲网站在线播放 | 上原亚衣在线观看 | a级黄色一级片 | 国产精品麻豆一区二区三区 | 毛片天天看 | av瑟瑟| 国产探花一区 | 日韩三级国产精品 | 国产在线青青草 | 国产鲁鲁视频在线观看免费 | 日本一区二区三区电影在线观看 | 成人福利片 | 少妇被粗大猛进进出出s小说 | 久久精品99国产精 | 欧美亚洲日本一区 | 亚洲国产网站 | 精品香蕉一区二区三区 | 久久精彩 | 亚洲成a人片 | 人人干人人爱 | 天天干,天天干 | 精品人妻一区二区三区换脸明星 | av猫咪| 亚洲精品一二 | 91久久电影 | 国产剧情一区 | 在线免费观看毛片 | 99热免费在线观看 | 清清草在线视频 | 中文在线а√天堂 | www.欧美激情 | 色欲久久久天天天精品综合网 | 椎名空在线 | 麻豆www| 中文字幕人妻熟女人妻a片 麻豆91视频 | 成人黄色性视频 | 日本精品专区 | 99热97| 一级大片免费 | 免费黄色小说视频 | 免费黄色小视频网站 | 日本一二三区在线 | 国产日韩欧美久久 | 亚洲第5页 | 老熟女高潮一区二区三区 | 欧美日韩一区二区在线视频 |