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

Тот разработчик 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;
1010
13 комментариев

Еле заголовок прочитал мда

13
Ответить

Комментарий недоступен

4
Ответить

Я вот тоже на какое-то время перестал воспринимать, что происходит, пока в код FString не залез.

5
Ответить

Комментарий недоступен

2
Ответить

Комментарий недоступен

5
Ответить

Жаль что простагму забанили.

3
Ответить

Комментарий недоступен

1
Ответить