0

有没有人有关于如何在 C 或 C++ 中安装相当于 Dictionary (VB6) 的信息或示例?
此实现用于作为称为 DLL VB6 的参数传递。

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

坦克。

4

5 回答 5

9

地图怎么样?

于 2009-01-13T16:08:19.337 回答
6

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

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

于 2009-01-13T16:21:23.147 回答
5

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

于 2009-01-13T16:17:11.673 回答
3

你的意思是std::map地图标题之外?

于 2009-01-13T16:08:20.787 回答
2

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

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

  • HamsterDB “内存数据库”,选项 HAM_IN_MEMORY_DB
  • BerkeleyDB,可以通过关闭缓冲或不指定文件来实现(“可以通过将文件参数设置为 NULL 来创建从不打算保留在磁盘上的内存数据库。”)
于 2009-01-13T20:16:33.000 回答