我一直在阅读有关 struct bit 打包顺序问题的信息,但由于曝光有限,我自己没有遇到过。但是,我注意到这些讨论主要针对非常复杂的应用程序。
我现在正在编写一个结构来保存来自 ifstream 这样的信息
struct MyFileStruct
{
char data1[40];
int data2;
char data3[12];
// etc..
};
ifstream fin;
// .. snip ..
fin.read((char*)&myfilestruct, sizeof(MyFileStruct));
只是想如果在这个简单的场景中是否会出现任何问题,可能是在另一个操作系统或 32/64 位架构中。等等。那么,确切地说,什么时候会考虑位包装顺序?