Кто придумал переопределить оператор разыменования указателя для получения внутреннего массива символов из строки

Тот разработчик Unreal Engine. И это вообще ни разу не хорошая идея.

/** * Get pointer to the string * * @Return Pointer to Array of TCHAR if Num, otherwise the empty string */ FORCEINLINE const TCHAR* operator*() const { return Data.Num() ? Data.GetData() : TEXT(""); }

У меня в какой-то момент времени даже появились сомнения в моём понимании C++, потому что это валидный код:

FString Str = TEXT("42"); const TCHAR* StrData = *Str;
10
8 комментариев