Ближайшая конференция C Russia: #cpp #cpprussia #IT #conference #jugrugroup В современных стандартах С стало меньше 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 теперь не в почете. Скачать презентацию с сайта —
Hide player controls
Hide resume playing