semimap:具有编译时查找和运行时存储的半编译运行时关联映射容器

时间:2024-03-11 10:45:42
【文件属性】:

文件名称:semimap:具有编译时查找和运行时存储的半编译运行时关联映射容器

文件大小:8KB

文件格式:ZIP

更新时间:2024-03-11 10:45:42

containers constexpr hashmap compile-time C++

semi :: static_map和semi :: map 这个容器是cppcon演讲的主题: (幻灯片: : ) 具有编译时查找功能的关联地图容器! 通常,关联容器从键中查找值时需要一些运行时开销。 但是,如果在编译时知道键(例如,当键是文字时),则可以从技术上避免这种运行时查找。 这正是semi::static_map和semi::map的目标。 实际上,当使用semi::static_map并使用C ++文字作为键来查找值时,值查找几乎与查找全局变量一样高效(在x86 / arm上,它仅会减少为三个机器指令:a cmp,jne和直接加载)。 只要您使用C ++文字作为键,查找的计算时间就将保持不变,例如,不会随着容器中键的数量而增加! # include < iostream> # include < string> # include " semimap.h "


【文件预览】:
semimap-master
----test.cpp(12KB)
----semimap.h(11KB)
----LICENSE.md(1KB)
----CMakeLists.txt(241B)
----README.md(4KB)

网友评论