unsigned char数组作为映射中的键(STL - C++)

est*_*djs 1 c++ stl map

有一些与此相关的帖子,但我需要澄清一些事情.我的程序中有一个结构,其中一个字段是固定大小的数组(16).这是上述结构的简化示例:

my_struct{
     unsigned char my_field[16];
     ....
     // some more fields here
};
Run Code Online (Sandbox Code Playgroud)

我想用这个字段作为地图的关键,这是我的问题. - 有没有办法使用像这样的地图

map<unsigned char[16], some_defined_structure>
Run Code Online (Sandbox Code Playgroud)

?否则,这将是以某种方式复制此char数组以适合数组或向量结构以便在之后插入地图的最佳方式?

Dav*_*rcz 6

unsigned char[16]不适合键映射的类型.它不符合要求但std::array<unsigned char,16>确实如此.