728x90
반응형
- 정리
- 언리얼이 C++ 타입 int를 사용하지 않는 이유
- 다양한 캐릭터 인코딩 시스템의 이해
- 언리얼의 문자열 처리의 이해
- FString의 구조와 사용 방법
- FName의 구조와 사용 방법
- 왜 언리얼은 기본 타입을 따로 지정하는가? (기존 C++ 타입이 아닌 언리얼 C++을 사용하는 이유)
- C++ 최신 규약에서 int는 최소 32비트를 보장하도록 규정되어 있음.
- 특정 플랫폼에서는 64bit로 해석될 수 있음.
- 따라서 데이터를 저장할 때 int 타입의 크기를 확신할 수 없음
- 게임 제작의 특징
- 데이터 정보가 명확해야 한다.
- 단일 컴퓨터에서 최대 퍼포먼스를 뽑아내야 한다.
- 네트워크 상에서 데이터 통신이 효율적이고 안정적이어야 한다.
- C++ 최신 규약에서 int는 최소 32비트를 보장하도록 규정되어 있음.
- bool 타입의 선언
- bool은 크기가 명확하지 않음.
- 헤더에는 가급적 bool 대신 uint8 타입을 사용하되 Bit Field 오퍼레이터를 사용.
- 일반 uint8과의 구분을 위해 b접두사를 사용.
- Cpp 로직에서는 자유롭게 bool을 사용
- 왜 언리얼은 문자열을 따로 지정하는가?
- 1990년대 후반에 이르러서야 표준화된 아시안 문자열 표준 (한국, 중국, 일본 → 한 글자당 2Bytes씩 사용하는 언어의 탄생)
- 문자열 처리의 종류
- Single byte(ANSI, ASCII) : 컴퓨터 초창기
- Multibyte(EUC-KR, CP949) : 컴퓨터 보급기 (1990년대 초중반)
- Unicode(UTF-8, UTF-16) : 국제 표준 정착기 (1990년대 후반)
- 하지만 이 모든 문자열은 아직도 사용되고 있음
- C++ STL은 ASCII, UTF-8, UTF-16만 지원함.
- Windows 10은 멀티바이트를 지원함. 하지만 다른 운영체제는 지원하지 않음
- → 처리해야할 문자열의 타입이 총 3종류나 된다.
- 이 문제를 심플하게 처리하기 위해 언리얼 같은 경우에는 TCHAR라고 하는 문자열 고유한 처리 방식을 제공하고 있다. 그렇기 때문에 우리는 TCHAR 하나만 가지고 문자열을 처리해주면 된다.
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/character-encoding-in-unreal-engine/?application_version=5.1
dev.epicgames.com
- 언리얼은 내부적으로 UTF-16 포맷을 사용 (한글자당 2Bytes)
해당 포스트는 인프런의 <이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해>
강의를 수강하고 정리한 내용입니다.
이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해 | 이득우 - 인프런
이득우 | 대기업 현업자들이 수강하는 언리얼 C++ 프로그래밍 전문 과정입니다. 언리얼 엔진 프로그래머라면 게임 개발전에 반드시 알아야 하는 언리얼 C++ 기초에 대해 알려드립니다., [사진] 언...
www.inflearn.com
728x90
'공부 > 이득우의 언리얼 프로그래밍' 카테고리의 다른 글
[Study] Part 1 - 언리얼 오브젝트 리플렉션 시스템 II (6/15) (0) | 2024.04.26 |
---|---|
[Study] Part 1 - 언리얼 오브젝트 리플렉션 시스템 I (5/15) (0) | 2024.04.25 |
[Study] Part 1 - 언리얼 오브젝트 소개 (4/15) (0) | 2024.04.24 |
[Study] Part1 - 언리얼 C++ 코딩규칙 (2/15) (0) | 2024.04.22 |
[Study] Part1 - 헬로 언리얼! (1/15) (0) | 2024.04.22 |