Строки, строки, строки и initializer_list - Антон Полухин, Яндекс Go

Вернулись к основам — std::string_view и std::string. Разобрались, что такое нуль-терминированность строки и как с ней не напортачить H��t H�5�+. Поговорили о constinit: зачем он нужен и почему std::string с ним несовместим. Посмотрели, как создавать «бессмертные» constinit-строки и обойдем ограничения std::initializer_list. Антон Полухин руководитель группы разработки общих компонент, Яндекс Go Представитель России в Международной рабочей группе по стандартизации C++ (WG21 ISO). Автор многих принятых предложений к стандарту языка C++. Председатель Российской рабочей группы по стандартизации С++. Разрабатывает и поддерживает стандартную библиотеку GCC, библиотеки Boost. Автор Boost-библиотек PFR, TypeIndex, DLL, StackTrace и активный мейнтейнер Any, Conversion, LexicalCast, Variant. Написал книгу Boost C++ Application Development Cookbook. 📚 Дополнительные материалы ✅ Хабр: · Как патчить ядро Linux: подробное руководство https://habr.com/ru/companies/yadro/articles/969756/ · Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутри https://habr.com/ru/companies/yadro/articles/1017930/ · Почему AI не может полноценно участвовать в разработке на С++ https://habr.com/ru/companies/yadro/articles/1003670/ ✅ Статьи на Истовом инженере: · Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR https://engineer.yadro.com/article/tensor-compiler/ · Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++ https://engineer.yadro.com/article/algoritmy-i-struktury-dannyh-cpp/ · Обзор книги «С++ 20 в деталях»: доступно, но не для джунов https://engineer.yadro.com/article/c-get-the-details-book/ · Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ https://engineer.yadro.com/article/ml-for-neural-networks/ 🎧 Послушать: · Подкаст «Битовые маски» с Константином Владимировым. Компилятор для CPU и GPU. Часть 1. LLVM и GCC https://engineer.yadro.com/podcast/compiler-cpu-gpu-part-1/ · Подкаст «Битовые маски» с Константином Владимировым. Компилятор для CPU и GPU. Часть 2. LLVM в GPU компиляторах. Стандарты С++https://engineer.yadro.com/podcast/compiler-cpu-gpu-part-2/ · Подкаст «Битовые маски» с Дмитрием Петровым. Разработка компиляторов: что поменялось за 20 лет https://engineer.yadro.com/podcast/compiler-development/

Иконка канала Истовый Инженер
1 535 подписчиков
12+
250 просмотров
6 месяцев назад
12+
250 просмотров
6 месяцев назад

Вернулись к основам — std::string_view и std::string. Разобрались, что такое нуль-терминированность строки и как с ней не напортачить H��t H�5�+. Поговорили о constinit: зачем он нужен и почему std::string с ним несовместим. Посмотрели, как создавать «бессмертные» constinit-строки и обойдем ограничения std::initializer_list. Антон Полухин руководитель группы разработки общих компонент, Яндекс Go Представитель России в Международной рабочей группе по стандартизации C++ (WG21 ISO). Автор многих принятых предложений к стандарту языка C++. Председатель Российской рабочей группы по стандартизации С++. Разрабатывает и поддерживает стандартную библиотеку GCC, библиотеки Boost. Автор Boost-библиотек PFR, TypeIndex, DLL, StackTrace и активный мейнтейнер Any, Conversion, LexicalCast, Variant. Написал книгу Boost C++ Application Development Cookbook. 📚 Дополнительные материалы ✅ Хабр: · Как патчить ядро Linux: подробное руководство https://habr.com/ru/companies/yadro/articles/969756/ · Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутри https://habr.com/ru/companies/yadro/articles/1017930/ · Почему AI не может полноценно участвовать в разработке на С++ https://habr.com/ru/companies/yadro/articles/1003670/ ✅ Статьи на Истовом инженере: · Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR https://engineer.yadro.com/article/tensor-compiler/ · Вирт, Кормен и диалекты Basic: что изучить про алгоритмы и структуры данных разработчикам на С++ https://engineer.yadro.com/article/algoritmy-i-struktury-dannyh-cpp/ · Обзор книги «С++ 20 в деталях»: доступно, но не для джунов https://engineer.yadro.com/article/c-get-the-details-book/ · Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ https://engineer.yadro.com/article/ml-for-neural-networks/ 🎧 Послушать: · Подкаст «Битовые маски» с Константином Владимировым. Компилятор для CPU и GPU. Часть 1. LLVM и GCC https://engineer.yadro.com/podcast/compiler-cpu-gpu-part-1/ · Подкаст «Битовые маски» с Константином Владимировым. Компилятор для CPU и GPU. Часть 2. LLVM в GPU компиляторах. Стандарты С++https://engineer.yadro.com/podcast/compiler-cpu-gpu-part-2/ · Подкаст «Битовые маски» с Дмитрием Петровым. Разработка компиляторов: что поменялось за 20 лет https://engineer.yadro.com/podcast/compiler-development/

, чтобы оставлять комментарии