Сергей Талантов
Компания: Kaspersky
В современных стандартах С++ стало меньше UB. Разберем на конкретных кейсах.
std::ssize
, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.for
, появившееся в С++23, решает неочевидные проблемы.std::string
нулевым указателем раньше была UB, a теперь запрещена.Некоторые конструкции языка признаются небезопасными и устаревшими, также пройдемся по ним:
volatile
?this
по значению в лямбдах?enum
теперь не в почете.Компания: Kaspersky
Компания: VK