【问题标题】:Dictionary like implementation in C/C++ (Update info)C/C++ 中的字典类实现(更新信息)
【发布时间】:2009-01-13 16:07:20
【问题描述】:

有没有人知道如何在 C 或 C++ 中挂载相当于字典 (VB6) 的信息或示例?
此实现用于作为称为 DLL VB6 的参数传递。

我的意图是在 C 中创建一个字典(win32 使用 VARIANT/ARRAY 等)并将其传递给调用 VB。所以我必须学习如何创建这个数据结构。

坦克。

【问题讨论】:

  • "此实现用于作为称为 DLL VB6 的参数传递"。你能更好地解释一下吗?这听起来让我有点困惑。

标签: c++ c dictionary


【解决方案1】:

map 怎么样?

【讨论】:

    【解决方案2】:

    下一个版本的C++会有unordered_map<>(显然他们认为称它为hash_map会与太多的独立实现冲突),这将是一个基于哈希的容器。

    它已添加到 Boost 中,并且很可能在 TR1 中。与往常一样,如果您的开发系统不支持新的标准功能,我推荐使用 Boost。

    【讨论】:

      【解决方案3】:

      字典是基于哈希的,地图是基于树的容器。我认为 tr1 添加了某种哈希容器,但在很多平台上你可以使用hash_map

      【讨论】:

        【解决方案4】:

        你的意思是除了map 标头中的std::map

        【讨论】:

          【解决方案5】:

          哈希表?您可以在 C 中找到几个现有的哈希表包,例如:

          您也可以使用为永久存储而设计的软件包,因为有些人可以选择将所有内容保存在内存中以提高速度。

          • HamsterDB“内存数据库”,选项 HAM_IN_MEMORY_DB
          • BerkeleyDB,可以是 switching buffering off 或不指定文件(“可以通过将文件参数设置为 NULL 来创建从不打算保存在磁盘上的内存数据库。”)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-10
            • 1970-01-01
            • 2013-04-10
            • 2013-03-31
            • 1970-01-01
            • 1970-01-01
            • 2012-01-26
            • 1970-01-01
            相关资源
            最近更新 更多