Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Why should C++ ensure that the hash will not throw an exception?

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/01 Report--

This article mainly introduces "why C++ should ensure that the hash will not throw an exception". In the daily operation, I believe that many people have doubts about why C++ should ensure that the hash will not throw an exception. The editor looked up all kinds of data and sorted out a simple and easy-to-use method of operation. I hope it will be helpful to answer the doubt that "why should C++ ensure that the hash will not throw an exception?" Next, please follow the editor to study!

C.89: make sure that the hash does not throw an exception

Reason (reason)

Users of the hash container indirectly use the hash function and do not want an exception to occur in a simple operation. This is the requirement of the standard library.

Example, bad (negative example)

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

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report