Skip to content
Blog
Go back

Heterogeneous Lookup

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

参考資料#


Share this post:

Previous Post
ユーザー権限で入力デバイスにアクセスしたい
Next Post
AstroPaperをAstro Integrationsに改造するときのメモ