Комментарии 7
Да, одна из лучших книг по продвинутому C++... У книги есть неофициальный алиас под которым её и знают (ubbook). Можно сказать критерий успеха, подобно dragonbook итд.
Также стиль изложения просто огонь:
Был теплый весенний денек. Попивая чай, я медленно и лениво пролистывал студенческие работы. Я бы мог сказать, что ничего не предвещало беды, но, увы, работы были выполнены на C++.
https://github.com/Nekrolm/ubbook/blob/master/lifetime/unexpected_mutability.md
Если открыть первую часть, то можно прочитать :)
Так что, встретив путеводитель Дмитрия Свиридкина по UB на GitHub (ubbook), я с большим любопытством с ним ознакомился. Выписал для себя ряд интересных мыслей, которые со временем станут основой новых диагностических правил. В общем, я получил от чтения и удовольствие, и пользу.
После я задумался. Во-первых, у меня тоже есть кое-что на тему неопределённого поведения. Во-вторых, таким ценным и интересным материалом хочется поделиться с как можно большим количеством программистов, для чего нужно перевести его на английский язык. Впрочем, думал я недолго и решил попробовать реализовать это на практике.
Я связался с Дмитрием и предложил сотрудничество по редактированию, дополнению и переводу его материала. Он согласился, и мы приступили к работе над этой электронной книгой, которую со временем попробуем превратить в печатную. Приглашаю посмотреть, что у нас получилось. Запасайтесь печеньками и вниманием для приятного и вдумчивого чтения.
В общем, перед вами переработанная и расширенная ubbook.
Плюс перевод на английский.
В кои это веки предельно полезный материал на хабре, и без тг канала)
Многие... Да я бы даже сказал, почти все плюсовики забивают на ub. Забивают в том плане, что считают, что ничего страшного не произойдёт, даже если это ub случится.
Так что в первую очередь надо вбить, что наличие ub недопустимо, а потом уж разбирать кейсы. Один умный человек объяснял это предельно доходчиво: может, ты ничего и не заметишь, а может у тебя и важный файл на диске удалится)
Блин, а в ПДФку собрать никак было?
Это потрясающе! Огромное спасибо.
Когда я в следующий раз опять подумаю, что знаю плюсы, пойду перечитаю
Прочитал. Резюме смешанное.
С одной стороны, много полезного и для подновить в памяти. С другой - книжка скорее для начинающего работать с ++, или переходящих с других языков, потому что очень многие вещи - это краеугольные камни, познаваемые в первом же серьезном даже пет проекте.
Много можно было сократить, например про возврат ссылок на временные объекты, а тут это не абзац, а полторы главы в сумме. Хотя с другой стороны много примеров полезнее новичкам.
Ну и непонятное количество отсылок к расту в каждой! главе. Кто хочет, пусть читает соответствующие учебники по расту. А то напоминает постоянное сравнение подруги с хреном моего бывшего или ненавязчивую софистику лгбт сообществ =)
Про пвс студио же реклама в принципе понятна и обоснована, ибо без линтеров и чекеров большие проекты на плюсах это сложно.
З. Ы. Ни и ещё, описаны далеко не все классы UB, так что ждём продолжений и улучшений.
Путеводитель C++ программиста по неопределённому поведению