![](https://squidex.jugru.team/api/assets/srm/6ssyVqSUAWQOjEPOHxSb2V/102668-1922988300-sergey-talantov-top-oshibok-sc-privodyashchikh-k-uyazvimostyam.jpg?cache=3600&width=74&height=74&mode=CropUpsize)
Сергей Талантов
Компания: Kaspersky
В современных стандартах С++ стало меньше UB. Разберем на конкретных кейсах.
std::ssize
, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.for
, появившееся в С++23, решает неочевидные проблемы.std::string
нулевым указателем раньше была UB, a теперь запрещена.Некоторые конструкции языка признаются небезопасными и устаревшими, также пройдемся по ним:
volatile
?this
по значению в лямбдах?enum
теперь не в почете.Компания: Kaspersky
Компания: VK