이 간단한 클래스의 클래스 멤버는 메모리의 연속인가? 다른 게시물에서고유 행렬이있는 클래스의 연속 데이터?
class A{
A(){ /* somecode */}
~A();
Eigen::Matrix<5,1,double> a;
Eigen::Matrix<9,1,double> b;
};
std::vector<A> vec(10);
char * p = interprete_cast<char*>(&vec[0]);
// the pointer p can now continously access all "a" and "b" in continous order -> (a,b,...,a,b)
// For example write all data to a binary file!
file.write(p, sizeof(A)*vec.size())
이 무엇인가에 대한 #pragma pack
등을 언급? 여기가 필요합니까? Link
또는 더 나은이 물건을 직렬화 나쁜, 나쁜 방법입니다
당신은 간단한 테스트를 수행 할 수 있습니다'에게는 sizeof (A)'와'는 sizeof (A : A) + sizeof 연산자를 비교 (A : B)'. 값이 같지 않으면 어딘가에 패딩이 있습니다. – Michael