- 連想配列のキーが重たいオブジェクトの場合、比較関数やハッシュ関数を
is_transparentありで定義すると良いらしい- heterogeneous lookupと呼ぶそう
- 比較関数は
less<>のように(パラメータをvoidに)置き換えるだけで良い - ハッシュ関数はそれ用に新しく定義する必要がある
- 例えば、キーが
stringのときにstring_viewやconst char*をそのままキーとして渡せるようになるので、一時オブジェクトを生成しなくて良くなる mapやsetではC++14から、unordered系ではC++20から使える- さらにC++23やC++26から使える場所が増えるみたい
Heterogeneous Lookup
ON THIS PAGE:
Share this post: