offsetof

headkio·2020년 9월 11일
0

C++

목록 보기
21/35
post-thumbnail

offsetof ?

  • 멤버들의 상대적 위치(offset)을 구한다.
  • 특정 멤버가 본인을 포함한 자료 구조 시작점부터 몇 바이트만큼 떨여져 있는지 알려준다.
  • 직렬화, 역직렬화에 유용하다.
  • 매크로 이다.
struct Student
{
  const char* Id;
  const char* Name;
  int CurrentSemester;
}
int main()
{
  std::cout << "Id offset: " << offsetof(Student, Id) << std::endl;
    // 출력 -> Id offset : 0
    
  std::cout << "Name offset: " << offsetof(Student, Name) << std::endl;
    // 출력 -> Name offset : 4
    
  std::cout << "CurrentSemester offset: " << offsetof(Student, CurrentSemester) << std::endl;
    // 출력 -> CurrentSemester offset : 8
  
  return 0;
}
profile
돌아서서 잊지말고, 잘 적어 놓자

0개의 댓글