第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請(qǐng)問如果比較功能不像運(yùn)算符<那樣,為什么std :: sort會(huì)崩潰?

請(qǐng)問如果比較功能不像運(yùn)算符<那樣,為什么std :: sort會(huì)崩潰?

C++
一只名叫tom的貓 2019-12-31 05:00:22
以下程序是使用VC ++ 2012編譯的。#include <algorithm>struct A{    A()        : a()    {}    bool operator <(const A& other) const    {        return a <= other.a;    }    int a;};int main(){    A coll[8];    std::sort(&coll[0], &coll[8]); // Crash!!!}如果我更改return a <= other.a;為,return a < other.a;則程序?qū)⒄_\(yùn)行,沒有例外。為什么?
查看完整描述

3 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

std::sort需要其滿足分揀機(jī)嚴(yán)格弱排序規(guī)則,這是解釋 在這里


因此,您的比較器說,a < b當(dāng)a == b不遵循嚴(yán)格的弱排序規(guī)則時(shí),該算法可能會(huì)崩潰,因?yàn)樗鼘⑦M(jìn)入無限循環(huán)。


查看完整回答
反對(duì) 回復(fù) 2020-01-06
?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

xorguy的答案非常好。


我只是從標(biāo)準(zhǔn)中添加一些報(bào)價(jià):


25.4排序及相關(guān)操作[alg.sorting]


為了使25.4.3中描述的算法無法正常工作,comp必須在值上引入嚴(yán)格的弱排序。


術(shù)語“ 嚴(yán)格”是指對(duì)非自反關(guān)系的要求(!comp(x,x)對(duì)于所有x),而術(shù)語“ 弱于”的要求不如總訂購的要求強(qiáng),但要強(qiáng)于部分訂購的要求。 。


所以xorguy很好地解釋了這一點(diǎn):您的comp函數(shù)說,a < b當(dāng)a == b哪個(gè)不遵循嚴(yán)格的弱排序規(guī)則時(shí)...



查看完整回答
反對(duì) 回復(fù) 2020-01-06
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

您必須詳細(xì)了解它要檢查的內(nèi)容,但是標(biāo)準(zhǔn)的排序例程旨在非常非??斓剡\(yùn)行,因此它們不必檢查您所做的任何事情就可以了,而只是依靠它。如果您的比較返回不可能的結(jié)果,那么將不可能發(fā)生的事情-說它得到了一些比較的結(jié)果,并將其用作查看位置的索引,只有它“知道”可能的值并“知道”結(jié)果引用將存儲(chǔ)在有效存儲(chǔ)中,因此只需將其提取即可。Kaboom:SIGSEGV運(yùn)氣不錯(cuò)。如果運(yùn)氣不好,它將無聲地管理您的數(shù)據(jù)

查看完整回答
反對(duì) 回復(fù) 2020-01-06
  • 3 回答
  • 0 關(guān)注
  • 548 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)