【发布时间】:2013-02-02 09:19:55
【问题描述】:
我可以像这样创建一个动态大小的整数数组:
int *cacheL2 = new int[L2/B2];
我还可以像这样创建Data 类型的对象:
Data one(12,12);
现在我想要一个动态大小的 Data 数组:
Data * vlaObj = new Data[L2/B2];
但它不起作用......
另外,如果您能告诉我如何让哈希值适用于 c++,那就太好了。我一直在寻找示例,但所有内容都只是说 #include "hash_map" 但是当我尝试使用该库时,它似乎找不到任何示例。
【问题讨论】:
-
它是如何“不工作”的?
-
我怀疑你的类没有默认构造函数?哦,至于哈希映射,如果您可以使用 C++11,请使用 std::unordered_map。
-
您是否有不能使用 STL 的原因?
-
为什么不对 VLA 使用 std::vector 而对哈希使用 std::map 呢?
-
@Adam27X:注意
std::map不是哈希表。您可能想阅读Why isstd::mapimplemented as red-black tree?
标签: c++ arrays dynamic-memory-allocation default-constructor