我有 vector<unsigned char>
用二进制数据归档。我需要从 vector (2 个字节)中取出 2 个项目并将其转换为整数。这怎么能不使用 C 风格来完成?
最佳答案
请使用移位运算符/位运算。
int t = (v[0] << 8) | v[1];
这里提出的所有基于转换/union 的解决方案都是 AFAIK 未定义行为,并且可能会在利用 strict aliasing 的编译器上失败。 (例如 GCC)。
关于c++ - 如何将 vector<unsigned char> 转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031459/