map

  • try_emplace(key,args_to_construct_v)
  • 批量insert,on
  • insert_and_assign
  • erase_if
  • extract,直接取出一个节点,内存不变,但是原来的map里就没有这个了,然后这玩意就可以再次插入别的里面
  • merge,全部extract,一般来说source会清空,但相同的会保留在原来的里面
  • 三种方式来重载<
  • 特化less
  • 闭包
  • 仿函数
  • 三路运算符可以用=default
  • 可以用std::tie来将struct绑定到一个tuple直接比较来避免手写麻烦的比较
  • less原本是在最外层类这里template的,但是这样就限定了less只能比较T,所以现在有一种透明仿函数,将template放到operator()这里,以实现less<>可以比较任意可以比较的两种类型,感觉这玩意应该也能用concept来限定,我不好说
  • 这样也能实现各种泛型
  • 也可以通过实现比较器来实现不同类型之间的比较和查找

map
https://lhish.github.io/project/hide/map/
作者
lhy
发布于
2025年8月16日
许可协议