-
[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 - 모든 코드에서 접근 가능: