c++ - map 中的字符串是如何存储的?

标签 c++

当我将字符串对象存储到 std::map 中时

std::map<std::string, SomeOtherData> map;

字符串将如何存储?我了解到 std::map 通常被实现为红黑树,但如何将字符串存储在那里?作为一个 trie?

最佳答案

如果 trie 你的意思是每个节点一个字符的实现 - 答案是否定的,它存储在每个节点的 std::string 中,因此如果你打算使用 std::strings 作为键,你可以查看 Ternary Trie (据我所知,由 Sedgewick 提议)

关于c++ - map 中的字符串是如何存储的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668199/

相关文章:

c++ - 使用推力对静态分配的数组进行排序

c++ - 创建不可移动类型的 std::vector

c++ - minimax算法中的maximum-edge是什么?

c++ - 为什么模板只能在头文件中实现?

c++ - 如何在 Ubuntu 20.04 上安装 libstdc++6 调试符号?

C++ 多行字符串原始文字

c++ - 当通过指针初始化创建对象实例时,为什么 std::string 属性为空

c# - 非托管导出,将字符串数组从 C++ 传递到 C#

c++ - 编译时检查结构的 32/64 位二进制兼容性?

c++ - 尝试在没有显式容器的情况下实现迭代器