Книги / Языки программирования / C++ / Экскурс в неопределенное поведение C++

Экскурс в неопределенное поведение C++

Д. О. Свиридкин, А. Н. Карпов

Книга представляет собой обширный справочник типичных и редко встречающихся ошибок, характерных для программ на C++, Rust и других языках низкоуровневого и системного программирования, включая ассемблер. Основное внимание уделяется неопределенному, неуточненному и определяемому реализацией поведению языковых конструкций.

Рассматриваются такие темы, как переполнение целых знаковых чисел, сужающие преобразования, проблемы с типами char и числами с плавающей точкой. Отдельные главы посвящены нарушению жизненного цикла объектов, висячим ссылкам, use-after-free, а также специфическим проблемам C++: std::string_view, инвалидация ссылок в std::vector, списки захвата лямбда-функций и proxy-объекты.

Книга содержит практические методы поиска, диагностики и устранения неопределенного поведения. Предназначена для специалистов по C++ и другим языкам системного и низкоуровневого программирования, желающих глубже понять тонкости работы с памятью и избежать критических ошибок.