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

C++三元表達(dá)式詳情

 更新時(shí)間:2021年11月16日 10:23:30   作者:梁唐  
這篇文章主要介紹了C++三元表達(dá)式,文章圍繞C++三元表達(dá)式的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,需要的朋友可以參考一下,希望多你有所幫助

if-else語(yǔ)句非常常用,但在進(jìn)行一些簡(jiǎn)單邏輯判斷的時(shí)候,會(huì)顯得有些不太簡(jiǎn)潔。特別是在初始化的時(shí)候,比如我們有一個(gè)變量,某種情況下賦值成a,另外的情況下賦值成b。

使用if-else語(yǔ)句寫(xiě)出來(lái)就是:

int cur;
if (condition) {
    cur = a;
}else {
    cur = b;
}

這當(dāng)然是沒(méi)問(wèn)題的,只是在大量使用的時(shí)候會(huì)顯得有些繁瑣。因此C++當(dāng)中推出了三元表達(dá)式對(duì)此進(jìn)行簡(jiǎn)化,三元表達(dá)式也被稱為條件運(yùn)算符(?:)。

運(yùn)算符的通用格式如下:

condition ? expression1 : expression2;

問(wèn)號(hào)之前的condition表示一個(gè)邏輯運(yùn)算,如果結(jié)果為true,返回expression1的值,否則返回expression2的值。

使用三元表達(dá)式之后,剛才上述的代碼可以改寫(xiě)成:

int cur = condition ? a : b;

這樣我們就把6行代碼壓縮成了一行,簡(jiǎn)化了代碼,但也因此了增加了代碼閱讀的難度。因此只推薦在簡(jiǎn)單邏輯判斷下使用三元表達(dá)式,也不推薦嵌套使用,會(huì)使得代碼非常難以閱讀。

最后分享一個(gè)我個(gè)人特別喜歡的使用三元表達(dá)式的場(chǎng)景,就是結(jié)構(gòu)體排序的cmp函數(shù)。

比如我們有這樣一個(gè)場(chǎng)景,需要使用一個(gè)結(jié)構(gòu)體存儲(chǔ)兩個(gè)值x和y,代表一個(gè)坐標(biāo)。我們需要對(duì)坐標(biāo)進(jìn)行排序,排序的規(guī)則是x軸小的在前,如果x軸相等,則y小的在前。

struct P {
    int x, y;
};

P arr[1000];

大家都知道,要對(duì)這樣的結(jié)構(gòu)體排序,一種做法是我們可以額外實(shí)現(xiàn)一個(gè)cmp函數(shù)作為sort排序函數(shù)的傳參。如果不使用三元表達(dá)式,

那么cmp函數(shù)是這樣的:

bool cmp(const P &a, const P &b) {
    if (a.x == b.x) {
        return a.y < b.y;
    }else {
        return a.x < b.x;
    }
}

使用三元表達(dá)式的話,整個(gè)邏輯只有一行:

bool cmp(const P& a, const P& b) {
    return a.x == b.x ? a.y < b.y : a.x < b.x;
}

到此這篇關(guān)于C++三元表達(dá)式詳情的文章就介紹到這了,更多相關(guān)C++三元表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

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

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)超市管理系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)超市管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)超市管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C++實(shí)現(xiàn)LeetCode(769.可排序的最大塊數(shù))

    C++實(shí)現(xiàn)LeetCode(769.可排序的最大塊數(shù))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(769.可排序的最大塊數(shù)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 非常漂亮的新年祝福!C語(yǔ)言實(shí)現(xiàn)漂亮的煙花效果

    非常漂亮的新年祝福!C語(yǔ)言實(shí)現(xiàn)漂亮的煙花效果

    非常漂亮的新年祝福!這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)漂亮的煙花效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C++可擴(kuò)展性與多線程超詳細(xì)精講

    C++可擴(kuò)展性與多線程超詳細(xì)精講

    這篇文章主要介紹了C++可擴(kuò)展性與多線程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-10-10
  • C++?計(jì)算時(shí)間差的五種方法小結(jié)

    C++?計(jì)算時(shí)間差的五種方法小結(jié)

    本文主要介紹了C++?計(jì)算時(shí)間差的五種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C++使用new和delete進(jìn)行動(dòng)態(tài)內(nèi)存分配與數(shù)組封裝

    C++使用new和delete進(jìn)行動(dòng)態(tài)內(nèi)存分配與數(shù)組封裝

    這篇文章主要介紹了C++使用new和delete進(jìn)行動(dòng)態(tài)內(nèi)存分配與數(shù)組封裝,運(yùn)行期間才能確定所需內(nèi)存大小,此時(shí)應(yīng)該使用new申請(qǐng)內(nèi)存,下面我們就進(jìn)入文章學(xué)習(xí)具體的操作方法,需要的小伙伴可以參考一下
    2022-03-03
  • C語(yǔ)言實(shí)現(xiàn)三子棋游戲

    C語(yǔ)言實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)三子棋游戲的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++火車入軌算法的實(shí)現(xiàn)代碼

    C++火車入軌算法的實(shí)現(xiàn)代碼

    這篇文章主要介紹了C++火車入軌算法的實(shí)現(xiàn)代碼,有需要的朋友可以參考一下
    2013-12-12
  • c++如何實(shí)現(xiàn)歸并兩個(gè)有序鏈表

    c++如何實(shí)現(xiàn)歸并兩個(gè)有序鏈表

    這篇文章主要介紹了c++如何實(shí)現(xiàn)歸并兩個(gè)有序鏈表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++實(shí)現(xiàn)教師管理系統(tǒng)

    C++實(shí)現(xiàn)教師管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論

巧家县| 永修县| 房产| 丰顺县| 岫岩| 绥中县| 襄垣县| 苍山县| 大田县| 大足县| 阿鲁科尔沁旗| 三门县| 抚远县| 会昌县| 伊吾县| 本溪| 苍梧县| 治县。| 含山县| 额济纳旗| 秦皇岛市| 金寨县| 东乡族自治县| 宜黄县| 介休市| 赞皇县| 灵寿县| 武汉市| 芮城县| 商南县| 新巴尔虎左旗| 民和| 昌乐县| 潼关县| 邵武市| 宣威市| 苏尼特右旗| 达日县| 宜黄县| 永新县| 新密市|