[C++] offsetof 매크로
카테고리: Cpp
태그: Memory
이 글은 C++ offsetof 매크로를 공부하고 정리한 글입니다.
offsetof 매크로는 특정 멤버가 본인을 포함한 자료 구조의 시작점에서부터 몇 바이트만큼 떨어져 있는지 알려줍니다.
offsetof 매크로
- 매크로의 일종
- 특정 멤버가 본인을 포함한 자료 구조의 시작점에서부터 몇 바이트만큼 떨어져 있는지 알려줌
-
직렬화(serialize)나 역직렬화(deserialize)를 할 때 꽤나 유용
코드 예제
// Main.cpp struct Student { const char* ID; const char* Name; int CurrentSemester; }; int main() { std::cout << "ID offset: " << offset(Student, ID) << std::endl; // ID offset: 0 std::cout << "Name offset: " << offset(Student, Name) << std::endl; // Name offset: 4 std::cout << "CurrentSemester offset: " << offset(Student, CurrentSemester) << std::endl; // CurrentSemester offset: 8 return 0; }
참조
💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸
댓글 남기기