最佳答案
可移植的方法是使用位移位和掩码形成适当大小的字符串。请注意,我说的是字符串,因为这实际上是您唯一需要关心字节顺序的时间——在系统之间传输字节时。
如果您想避免不必要的转换(例如,在小端架构上转换为小端),则没有完全可移植的方法可以在编译时执行此操作。但您可以在运行时检查以动态选择转换函数集。
这确实有一个缺点,即代码无法内联。以可移植的方式编写转换并使用模板或内联可能会更有效。与半可移植的编译时检查相结合,这几乎是您所能得到的最好的结果。
进一步阅读:Detecting Endianness在编译时。
关于c++ - 如何以可移植的方式将整数转换为小端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635653/