我正在使用ZeroMQ库,它使用void *
来表示任意二进制数据块。但是,我想使用std::vector
来复制和移动这些块。使std::vector
表示原始字节的首选,惯用方法是什么?我目前正在使用std::vector<unsigned char>
,但我想确保我的代码对其他人有意义。
答案 0 :(得分:8)
无论
std::vector<unsigned char>
或
#include <cstdint>
std::vector<std::uint8_t>
对我来说都很好。
答案 1 :(得分:0)
如果您不知道数据的性质,unsigned char
是您可以代表的最小块位而不会变得混乱。因此,它是任何类型的任意存储块的常见类型。
所以你的矢量看起来非常精致。