ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [UE5] 전역 네임스페이스와 ::의 활용
    UE5 2024. 12. 19. 06:10

    전역 네임스페이스(Global Namespace)란?

     

    C++에서 **전역 네임스페이스(Global Namespace)**는 특정 네임스페이스에 속하지 않은 함수, 변수, 클래스, 열거형 등이 기본적으로 포함되는 가장 바깥쪽의 범위를 뜻한다. 전역 네임스페이스는 모든 파일에서 접근할 수 있는 기본 범위이다.

    전역 네임스페이스는 이름이 없는 네임스페이스로 간주되며, 이를 명시적으로 참조하려면 범위 지정 연산자(::)를 사용한다.

     

     

     

    전역 네임스페이스의 특징

     

    • 모든 코드에서 접근 가능:
      • 전역 네임스페이스에 있는 요소는 기본적으로 모든 소스 파일에서 접근 가능
    • 기본 범위:
      • 함수, 변수, 클래스 등을 아무 네임스페이스에도 포함하지 않고 선언하면 자동으로 전역 네임스페이스에 포함
    • 범위 지정 연산자(::):
      • 전역 네임스페이스를 명시적으로 참조할 때 사용함. 예: ::myFunction().
    • 네임스페이스 충돌 가능성:
      • 여러 파일에서 동일한 이름의 요소를 정의할 경우 충돌이 발생할 수 있음
      • 이를 방지하기 위해 namespace를 사용하는 것을 권장

     

    #include <iostream>
    
    int globalValue = 42; // 전역 변수
    
    namespace MyNamespace
    {
        int globalValue = 100; // 네임스페이스 내 변수
    
        void PrintValues()
        {
            std::cout << globalValue << std::endl;    // MyNamespace::globalValue 사용
            std::cout << ::globalValue << std::endl; // 전역 네임스페이스의 globalValue 사용
        }
    }
    int main()
    {
        MyNamespace::PrintValues();
        return 0;
    }
    
    // 결과
    100
    42

     

    즉, ::는 전역 네임스페이스를 명확히 지정할 때 사용된다.

     

    'UE5' 카테고리의 다른 글

    [UE5] 네트워크 멀티플레이어 최적화  (0) 2024.12.26
    [UE5] 움직임 리플리케이션  (1) 2024.12.20
    [UE5] RPC 사용시 주의할 점  (0) 2024.12.17
    [UE5] RPC(Remote Procedure Call)  (2) 2024.12.17
    [UE5] 액터 리플리케이션  (0) 2024.12.17
Designed by Tistory.