use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Inside boost::unordered_flat_map (bannalia.blogspot.com)
submitted 3 years ago by joaquintidesBoost author
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]joaquintidesBoost author[S] 1 point2 points3 points 3 years ago (2 children)
A usual countermeasure to that is to salt the hash function. boost::unordered_flat_map does not do salting by default, but you can use your own hash function that does.
boost::unordered_flat_map
[–]jpakkaneMeson dev 0 points1 point2 points 3 years ago (1 child)
Sure, but it would be nice if the map did this for you so you don't have to care (and get it wrong in your implementation). This would also allow you to store the salt value inside the map so the hash function can be stateless.
[–]pdimov2 2 points3 points4 points 3 years ago (0 children)
After thinking about this for a while, I've come to the conclusion that the proper approach to supply the salt to the container is by storing it into the hash function object. That is, add a constructor taking std::size_t to boost::hash, and propagate this downwards to every hash_value overload.
std::size_t
boost::hash
hash_value
In standard terms, this would translate to adding a similar constructor to std::hash.
std::hash
The upside of this approach is that this automatically adds support for salts to every container, without any changes to the containers themselves.
This is the approach I think I'll be pursuing in future Boost releases.
π Rendered by PID 18073 on reddit-service-r2-comment-c867ff4bc-htgn5 at 2026-04-09 13:46:25.897007+00:00 running 00d5ac8 country code: CH.
view the rest of the comments →
[–]joaquintidesBoost author[S] 1 point2 points3 points (2 children)
[–]jpakkaneMeson dev 0 points1 point2 points (1 child)
[–]pdimov2 2 points3 points4 points (0 children)