真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++為什么要保證哈希不會(huì)拋出異常

這篇文章主要介紹“C++為什么要保證哈希不會(huì)拋出異常”,在日常操作中,相信很多人在C++為什么要保證哈希不會(huì)拋出異常問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++為什么要保證哈希不會(huì)拋出異?!钡囊苫笥兴鶐椭?!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司是一家專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

C.89:保證哈希不會(huì)拋出異常      

Reason(原因)

哈希容器的用戶間接地使用哈希功能,不希望簡單的操作發(fā)生異常。這是標(biāo)準(zhǔn)庫的要求。

Example, bad(反面示例)       

template<>
struct hash {  // thoroughly bad hash specialization
   using result_type = size_t;
   using argument_type = My_type;

   size_t operator() (const My_type & x) const
   {
       size_t xs = x.s.size();
       if (xs < 4) throw Bad_My_type{};    // "Nobody expects the Spanish inquisition!"
       return hash()(x.s.size()) ^ trim(x.s);
   }
};

int main()
{
   unordered_map m;
   My_type mt{ "asdfg" };
   m[mt] = 7;
   cout << m[My_type{ "asdfg" }] << '\n';
}

如果你已經(jīng)定義了哈希特化,爭取簡單地實(shí)現(xiàn)為通過異或和標(biāo)準(zhǔn)庫哈希特化的組合。        

Enforcement(實(shí)現(xiàn)建議)
  • 提示拋出異常的哈希。

到此,關(guān)于“C++為什么要保證哈希不會(huì)拋出異常”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


新聞標(biāo)題:C++為什么要保證哈希不會(huì)拋出異常
分享鏈接:http://weahome.cn/article/jphigc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部