Сергей Талантов - Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26

  Рет қаралды 1,367

Конференция по разработке на C++

Конференция по разработке на C++

Күн бұрын

Ближайшая конференция - C++ Russia 2025, 20-21 марта, Москва + online. Подробности и билеты: jrg.su/9Sszhd
- -
Скачать презентацию с сайта C++ Russia - jrg.su/6yiJOe
В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.
- Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде. Это сокращает количество UB в битовых операциях и не только.
- Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
- Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
- Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
- В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).
- Будет ли введена арифметика с насыщением в С++26?
Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
- Осталось ли что-то от volatile?
- Можно ли теперь делать неявный захват this по значению в лямбдах?
- Какие операции с enum теперь не в почете.

Пікірлер
Антон Яковлев - Практика применения C++ в играх и игровых движках
1:00:27
Конференция по разработке на C++
Рет қаралды 3,6 М.
Алексей Веселовский - LeakSanitizer и менеджмент памяти
1:20:06
Конференция по разработке на C++
Рет қаралды 953
Don't underestimate anyone
00:47
奇軒Tricking
Рет қаралды 18 МЛН
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,1 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,5 МЛН
Филипп Белозёров и Владислав Гордиенко - Neat Gamedev Tricks and Beyond
1:03:47
Конференция по разработке на C++
Рет қаралды 948
АКОС 9. Числа с плавающей точкой. IEEE754. Union hack.
1:19:47
Александр Фокин - Обзор C++26
1:00:17
Конференция по разработке на C++
Рет қаралды 4,3 М.
Владислав Шпилевой - Аптечка производительности для C/C++ серверов
1:00:11
Конференция по разработке на C++
Рет қаралды 1,5 М.
Константин Владимиров - О денотации: разрешение имен и его пересмотр в C++23
1:00:19
Don't underestimate anyone
00:47
奇軒Tricking
Рет қаралды 18 МЛН