是否可以保持容器中的静态数组

Is it possible to keep in container static array?

本文关键字:静态 数组 是否      更新时间:2023-10-16

我的意思是不在数组上保留指针

std::vector<int*> vector;

但是

std::vector<int[]> vector;

问题是在hash_map中保留这样的数组,以便在插入时不是比较指针,而是在我尝试使用时比较指针

std::hash_map<std::vector<BYTE>,std::string> xxx

我有个错误。

您不能执行std::vector<int[]> vector。您必须指定数组的大小,以便像std::vector<int[5]> vector这样进行编译。

然而,这是一个坏主意,因为您不能将数组分配给其他数组,等等,当您尝试使用vector时,您会遇到各种错误。

相反,使用vector<vector<int>> vector,或者在C++11中使用vector<std::array<int, 5>> vector

此外,我不知道你使用的是hash_map的什么实现,所以我不知道上面的解决方案是否适用于你的情况。(另外,C++11有一个无序映射,所以这可能更可取)