언리얼 엔진에서는 기본적인 C++ 데이터 타입을 직접 사용하는 대신, 보다 최적화된 자체 타입을 제공하여 성능과 호환성을 유지하고 있습니다. 특히, 문자열 처리는 게임 개발에서 중요한 요소 중 하나이며, 언리얼은 다양한 문자열 타입을 지원합니다. 이번 글에서는 언리얼 C++에서 사용되는 기본 타입과 문자열 처리 방식을 정리해 보겠습니다.
C++의 기본 타입을 그대로 사용하는 대신, 언리얼 엔진은 다음과 같은 타입을 제공합니다.
Tip: 불명확한 크기의 데이터 타입 사용은 성능 저하를 초래할 수 있음.
언리얼 엔진에서는 다양한 문자열 처리 방식을 제공합니다. 주로 사용되는 타입은 다음과 같습니다.
#include "MyGameInstance.h"
void UMyGameInstance::Init()
{
Super::Init();
TCHAR LogCharArray[] = TEXT("Hello Unreal");
UE_LOG(LogTemp, Log, TEXT("%s"), LogCharArray);
FString LogCharString = LogCharArray;
UE_LOG(LogTemp, Log, TEXT("%s"), *LogCharString);
// 특정 문자열 포함 여부 확인
if (LogCharString.Contains(TEXT("Unreal"), ESearchCase::IgnoreCase))
{
int32 Index = LogCharString.Find(TEXT("Unreal"), ESearchCase::IgnoreCase);
if (Index != INDEX_NONE)
{
FString EndString = LogCharString.Mid(Index);
UE_LOG(LogTemp, Log, TEXT("%s"), *EndString);
}
}
}
int32 IntValue = 42;
float FloatValue = 3.141592;
FString FormattedString = FString::Printf(TEXT("Int: %d, Float: %.6f"), IntValue, FloatValue);
FString FloatString = FString::SanitizeFloat(FloatValue);
FString IntString = FString::FromInt(IntValue);
UE_LOG(LogTemp, Log, TEXT("%s"), *FormattedString);
FString IntString = TEXT("100");
FString FloatString = TEXT("3.14");
int32 IntValue = FCString::Atoi(*IntString);
float FloatValue = FCString::Atof(*FloatString);
UE_LOG(LogTemp, Log, TEXT("Converted Int: %d, Converted Float: %.2f"), IntValue, FloatValue);
FName ObjectName = TEXT("MyObject");
UE_LOG(LogTemp, Log, TEXT("FName: %s"), *ObjectName.ToString());
FText LocalizedText = NSLOCTEXT("MyNamespace", "MyKey", "Localized String");
UE_LOG(LogTemp, Log, TEXT("Localized Text: %s"), *LocalizedText.ToString());
언리얼 C++ 리플렉션 시스템 활용하기 (Part 2) (0) | 2025.03.04 |
---|---|
언리얼 C++ 프로퍼티 시스템과 리플렉션 (Part 1) (0) | 2025.02.28 |
언리얼 C++ 오브젝트 시스템 소개 (1) | 2025.02.21 |
언리얼 엔진 C++ 코딩 표준 정리 (1) | 2025.02.21 |