色色一区二区三区,一本大道道久久九九AV综合,国产香蕉97碰碰视频va碰碰看,综合亚洲国产2020

    <legend id="mljv4"><u id="mljv4"><blockquote id="mljv4"></blockquote></u></legend>

    <sub id="mljv4"><ol id="mljv4"><abbr id="mljv4"></abbr></ol></sub>
      <mark id="mljv4"></mark>

      C&#x2B;&#x2B;構(gòu)造函數(shù)與相同鍵/值類型的std::map

      2021-02-28 18:14

      不明確這里有一個(gè)類定義作為示例。#includegt;#includegt;templategt;class Collection{private:std::mapgt;data;public:Collection(){}Collection(std

      解答動(dòng)態(tài)

      • 這是一張有趣的地圖。
        A地圖可以由兩張地圖組成迭代器:
        templategt;map(InputIterator first,InputIterator last,const Compareamp;=Allocator()); 值得注意的是,檢查InputIterator是否是迭代器根本不需要此構(gòu)造函數(shù),更不用說取消引用的結(jié)果可以轉(zhuǎn)換為映射的值類型。當(dāng)然,實(shí)際上嘗試構(gòu)造映射會(huì)失敗,但是要重載解析,可以從同一類型的任意兩個(gè)參數(shù)構(gòu)造映射。
        So with
        collectiongt;col({{keyquot;valuelt;標(biāo)準(zhǔn):stringquot;,quot;}}; 標(biāo)準(zhǔn)中有一條特殊規(guī)則排除了第二種解釋。

        • 在本例中,您缺少一個(gè){}來封閉映射{keyquot;value";}}
          EDIT:抱歉,由于聲譽(yù)不足,我不能對t.C的答案發(fā)表評論。無論如何,感謝您出色地強(qiáng)調(diào)了歧義點(diǎn)。
          I想補(bǔ)充他們的答案-給出一個(gè)完整的圖片,為什么用{}構(gòu)造不會(huì)導(dǎo)致這種歧義,但用()構(gòu)造會(huì)導(dǎo)致這種歧義。
          括號(hào)和圓括號(hào)初始化之間的關(guān)鍵區(qū)別是在構(gòu)造函數(shù)重載解析期間,如果可能的話,帶括號(hào)的初始值設(shè)定項(xiàng)與std::initializer\u list參數(shù)匹配,即使其他構(gòu)造函數(shù)提供更好的匹配。這就是為什么用{}構(gòu)造可以解決歧義的原因。這是從Scott Myers的“有效的現(xiàn)代C++”項(xiàng)目
          中獲得的。

          • End

          免責(zé)聲明:

          本頁內(nèi)容僅代表作者本人意見,若因此產(chǎn)生任何糾紛由作者本人負(fù)責(zé),概與琴島網(wǎng)公司無關(guān)。本頁內(nèi)容僅供參考,請您根據(jù)自身實(shí)際情況謹(jǐn)慎操作。尤其涉及您或第三方利益等事項(xiàng),請咨詢專業(yè)人士處理。