73. C++ 익명 구조체
1. 개요
1.1 문서 개요
이 문서는 C++에서 익명 구조체(Anonymous Struct)의 선언 방식과 사용 사례를 정리합니다. 이름이 없는 구조체는 주로 특정 구조체의 내부에 한정적으로 사용되며, 멤버 접근을 간편하게 만들 수 있습니다.
2. 내용
2.1 익명 구조체의 기본 개념
익명 구조체는 이름 없이 정의된 구조체입니다. 내부 멤버가 상위 구조체의 멤버처럼 직접 접근됩니다.
struct Container {
struct {
int x;
int y;
}; // 익명 구조체
};
2.2 멤버 접근 방식
익명 구조체의 멤버는 마치 상위 구조체의 멤버처럼 접근할 수 있습니다.
Container c;
c.x = 10;
c.y = 20;
2.3 사용 목적
- 내부 멤버를 상위 구조체에서 바로 접근하고자 할 때
- 캡슐화를 유지하면서도 간단한 데이터 표현이 필요할 때
2.4 유의사항
- C++에서는 익명 구조체가 표준으로 직접 지원되지 않으며, 컴파일러에 따라 지원 여부가 다를 수 있습니다.
- MSVC 및 GCC 등 일부 컴파일러에서는 확장 기능으로 익명 구조체를 지원합니다.
3. 마무리
익명 구조체는 멤버를 단순화하고 접근을 간편하게 할 수 있는 수단으로, 특정 상황에서 코드의 간결성을 높일 수 있습니다. 다만, 표준 지원 여부가 제한적이므로 이식성과 호환성에 주의해야 합니다.