C++ std::逐字节复制字符向量

C++ std::逐字节复制字符向量,c++,C++,如何将int(或任何其他数据类型)逐字节复制到向量 intx=10; std::矢量字节数组(sizeof(int)); std::copy(byteArray.begin(),byteArray.end(),x);//在这里如何使用x? 如果无法使用std::copy,可以使用memcpy或任何其他技术完成吗?您正在处理的问题称为序列化。 使用memcpy的解决方案是“粗糙但有效的”,所以如果您的项目很小,我认为可以使用它。否则,我建议寻找一些解决方案,例如 例如,在boost或Qt中提供。

如何将
int
(或任何其他数据类型)逐字节复制到
向量

intx=10;
std::矢量字节数组(sizeof(int));
std::copy(byteArray.begin(),byteArray.end(),x);//在这里如何使用x?

如果无法使用
std::copy
,可以使用
memcpy
或任何其他技术完成吗?

您正在处理的问题称为序列化。 使用memcpy的解决方案是“粗糙但有效的”,所以如果您的项目很小,我认为可以使用它。否则,我建议寻找一些解决方案,例如 例如,在boost或Qt中提供。这将为您提供多个数据类型的通用接口


vector byteArray[sizeof(int)]
是一个
std::vectors的数组
是的,对不起,我想用
sizeof(int)
elementstry memcpy(byteArray.data(),&x,sizeof(int))初始化它@丹尼尔:哇,真管用。谢谢我明白你的意思。我使用的散列是非加密散列,仅用于基于散列的查找。问题是数据类型可以是任何数据类型。这意味着我需要对int、long、char*等进行单独的字节转换,这可能不值得这么做。另外,我不想让代码具有可移植性。
int x = 10;
std::vector<unsigned char> byteArray(sizeof(int));
std::copy(byteArray.begin(), byteArray.end(), x); // how do I use x here?