Статьи про строки в C# и C++
Уровень материала: 🐥 #middle
Добрался до любопытной статьи про устройство строк в игровых движках: от стандартов для PlayStation 1 до современного C++17.
Обзор разных реализаций с их областями применения и всякие нюансы при кросс-платформенной разработке.
Как сама статья написана – мне не сильно понравилось. Читается тяжело: предложения большие, пунктуация местами некорректная, повествование немного сумбурное. Поэтому чтиво требует концентрации. Но содержание интересное и, как оказалось, незамысловатое. В заметки себе занёс 📝
Практическая ценность раскроется наверное разве что для C++ разработчиков. Для Unity-разработчиков материал скорее для расширения кругозора и для "заглядывания под капот" (всё-таки Unity внутри тоже C++ эксплуатирует). А может кому и на тех. собесах пригодится — всякие извращения встречаются 😅
Юнитистам достаточно помнить, что в C# строки❕:
- являются ссылочным типом;
- иммутабельны;
- имеют переопределённый метод Object.Equals;
- используют механизм интернирования (Shared Strings в терминах статьи).
Звучит казуальнее, чем в C++. Но тоже не без нюансов.
Если хочется нырнуть чуть глубже за подробностями, то есть статья про особенности строк в .net.
И чуть более подробная про интернирование строк в .net.
Им, правда, уже по 10 лет. Но с тех времён не многое изменилось⏱
—————————————