72. C++ 중첩 구조체

72. C++ 중첩 구조체

1. 개요

1.1 문서 개요

이 문서는 C++에서 중첩 구조체(Nested Struct)의 선언 및 사용 방법에 대해 정리합니다. 구조체 안에 또 다른 구조체를 정의함으로써 복잡한 데이터 구조를 논리적으로 구성할 수 있으며, 계층적 데이터 표현에 적합합니다.

2. 내용

2.1 중첩 구조체의 선언

중첩 구조체는 외부 구조체의 정의 내부에서 또 다른 구조체를 선언하는 방식입니다.

struct Employee {
    struct Address {
        std::string city;
        std::string street;
    };
    std::string name;
    Address addr;
};

2.2 중첩 구조체의 사용 방법

중첩된 구조체 타입도 일반 구조체처럼 변수 선언과 초기화가 가능합니다.

Employee e;
e.name = "John";
e.addr.city = "Seoul";
e.addr.street = "Mapo";

2.3 중첩 구조체의 장점

  • 논리적으로 관련된 정보를 그룹화 가능
  • 네임스페이스 충돌 방지
  • 구조의 명확성과 가독성 향상

2.4 중첩 구조체의 범위

내부 구조체는 외부 구조체의 범위 내에서만 직접적으로 접근할 수 있습니다. 외부에서도 다음과 같이 접근해야 합니다.

Employee::Address a;
a.city = "Busan";

3. 마무리

중첩 구조체는 복잡한 데이터 모델을 계층적으로 표현하는 데 유용하며, 코드의 논리적 명확성과 유지보수성을 향상시킵니다. C++에서는 자유롭게 중첩 구조체를 선언할 수 있으며, 각 구조체는 독립적으로도 사용할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!
위로 스크롤