【发布时间】:2010-12-15 20:42:41
【问题描述】:
在使用 Java 和 C# 几年后,我又回到了 C++。当然,我的编程风格受到这些语言的影响,我倾向于觉得需要一个我大量使用的特殊组件:HASH MAP。在 STL 中有 hash_map,GCC 说它已被弃用,我应该使用 unordered_map。所以我转向它。我承认我不确定我正在做的事情的可移植性,因为我必须使用编译器开关来打开即将推出的标准的 -std=c++0x 功能。无论如何,我对此很满意。只要我不能让它工作,因为如果我上课了
std::unordered_map<unsigned int, baseController*> actionControllers;
在一个方法中:
void baseController::attachActionController(unsigned int *actionArr, int len,
baseController *controller) {
for (int i = 0; i < len; i++){
actionControllers.insert(actionArr[i], controller);
}
}
它带有通常的象形文字,说它找不到周围的插入...提示?
【问题讨论】:
-
顺便说一句,为什么不使用 std::map 呢?这将解决您的便携性问题。
-
一个映射没有与哈希映射相同的访问时间保证......这就是我使用它的原因。