union

2025. 3. 26. 19:41C++

 

  • 메모리 사용을 최적화할 때.
  • 여러 방식으로 데이터를 처리가 필요할 때.
  • 상호 변환 가능한 값들이 있을 때. 예를 들어, 동일한 숫자나 값들을 다른 형식으로 나타내야 할 때 union을 사용.
union Color {
    struct {
        uint8_t red;
        uint8_t green;
        uint8_t blue;
    };
    uint32_t hexColor;  // 32비트로 색상 표현
};

 

 

 

RGB 값을 개별적으로 접근하려면 red, green, blue를 사용.

전체 색상 값을 한 번에 접근하려면 hexColor를 사용.

 

이렇게 사용하게 되면 hexColor를 사용하고 red, green, blue는 다시 값을 설정하고 사용해야한다. 반대 경우도 동일.

하지만 이렇게 새로운 프로세스가 추가되더라도 메모리 절약 사용과 다양한 방식으로 데이터를 다룰 수 있는 유연성을 제공하기에 프로세스를 추가하는 것 보다 효율적이다고한다.

 

ex) 메모리 제약이 있는 임베디드 시스템, 성능이 중요한 애플리케이션

 

'C++' 카테고리의 다른 글

fstream  (0) 2025.03.31
참조자(Reference)  (0) 2025.03.27
SSO  (0) 2025.03.26
소멸자(destructor)  (0) 2025.03.26
힙 / 스택  (0) 2025.03.25