我有一个需要颠倒字节顺序(假设2)并将它们存储为short int的std::vector<unsigned short int> vals。我是这样做的:for(unsigned short int& x : vals) { result.push_back(static_cast<short int>(x));通过在线阅读,我发现st
例如: short x;};
假设2字节短路和4字节ints,实际上可能占用8字节内存,因为编译器希望在4字节边界上对齐成员.所以x和y之间有2个字节的松弛。这使得读写结构在语言、编译器和硬件中不可移植。读和写它们的唯一方法是由成员组成。是的,Endianness在这里也是一个问题,交换必须在成员级别进行,但是让我们假设这不是一个问题。Fortran有一个派生类型(结构)的“序