언리얼 코딩 스탠다드를 보면 항상 이해가 안되는 부분이 있었는데, 타입의 프리픽스를 소개하는 부분이다.
UObject를 상속받은 오브젝트는 U를, AActor를 상속받은 클래스는 A를, Slate는 S, 템플릿 클래스는 T를 접두어로 사용한다.
그런데 그렇지 않은 C++의 순수 클래스의 접두어 F는 도저히 어떤 연유에서 사용하는 건지 알수가 없었다. 언리얼의 설명은 "로컬 변수든 파라메터 변수든 대문자로 시작할 것이기 때문에, 타입과 변수의 이름이 겹치지 않도록 타입 앞에는 F를 붙여주세요"였다.
이에 대해서 아는 형이 이유를 알려주었는데, 꽤 재밌는 이야기라 짧게 글을 쓴다.
접두어 F는 원래 순수 클래스를 의미하려고 사용하였던 것이 아니라, 언리얼1 시절 팀 스위니가 실수 벡터 클래스인 FloatVector를 Integer, Double Vector와 구분하기 위해서 붙였던 것이라고 한다.
이를 본 다른 엔지니어들이 F를 이곳저곳에 사용하기 시작하면서 F를 접두어로 붙인 클래스가 많아졌고 결국 순수 클래스 접두어로 F가 정착되었다고 한다.
정말 그럴까? 싶다가도 충분히 그럴수도 있겠다는 생각 또한 든다.
'프로그래밍 > Unreal' 카테고리의 다른 글
[UE5] Sparse Distance Field - 1. Distance Field를 만드는 과정 (2) | 2022.10.09 |
---|---|
[UE4] Virtual Texturing과 Clipmap (0) | 2022.08.11 |
Unreal의 스레드와 단일 스레드로 실행시키기 (-norenderthread) (0) | 2022.04.06 |
UE4 -waitforattach (0) | 2022.03.30 |
GetTypeHash의 구현 (0) | 2021.02.23 |