Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Скотт Мейерс

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Scott Meyers
книга Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14
(увеличить обложку)

Книга в типографии

Оглавление
Введение
Пролистать книгу

В этой книге отражен бесценный опыт ее автора как программиста на C++. Новые возможности этого языка программирования, появившиеся в стандартах C++11 и C++14 — это не просто новые ключевые слова или функции, это появление совершенно новых концепций, так что для их эффективного использования недостаточно просто узнать об их существовании, и программировать на C++11, как на несколько улучшенном и расширенном функционально C++98.

Когда происходят такие глобальные изменения в языке программирования, их изучению следует посвятить определенное время, написать сотни, а еще лучше — тысячи строк кода, и столкнуться с массой проблем, кажущихся тем более странными и непонятными, чем большим опытом работы с C++98 вы обладаете. К программированию в полной мере относится фраза Евклида о том, что в геометрии нет царских путей. Но пройти путь изучения и освоения нового языка программирования вам может помочь проводник, показывающий наиболее интересные места и предупреждающий о ямах и ухабах. Таким проводником может послужить книга Скотта Мейерса. С ней вы не заблудитесь и не забредете в дебри, из которых будете долго и трудно выбираться с помощью отладчика.

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

Эта книга заставляет вас не просто заучить правила — она заставляет думать.

И хотя эта книга в первую очередь предназначена для энтузиастов и профессионалов, она достойна места на полке любого программиста — как профессионала, так и зеленого новичка.

Освоение C++11 и C++14 — это больше, чем просто ознакомление с вводимыми этими стандартами возможностями (например, объявлениями типов auto, семантикой перемещения, лямбда-выражениями или поддержкой многопоточности). Вопрос в том, как использовать их эффективно — так, чтобы создаваемые программы были корректны, эффективны и переносимы, а также чтобы их легко можно было сопровождать.

Именно этим вопросам и посвящена данная книга, описывающая создание по-настоящему хорошего программного обеспечения с использованием C++11 и C++14 — т.е. с использованием современного C++.

В книге рассматриваются следующие темы

  • Преимущества и недостатки инициализации с помощью фигурных скобок, спецификации noexcept, прямой передачи и функций make интеллектуальных указателей
  • Связь между std::move, std::forward, rvalue-ссылками и универсальными ссылками
  • Методы написания понятных, корректных, эффективных лямбда-выражений
  • Чем std::atomic отличается от volatile, как они используются и как соотносятся с API параллельных вычислений C++
  • Какие из лучших методов "старого" программирования на C++ (т.е. C++98) должны быть пересмотрены при работе с современным C++
  • Эффективный и современный C++, следуя принципам более ранних книг Скотта Мейерса, охватывает совершенно новый материал. Эта книга достойна занять свое место на полке каждого программиста на современном C++.

    Об авторе

    Скотт Мейерс — один из ведущих мировых экспертов по C++, широко востребованный как инструктор, консультант и докладчик на разных конференциях. Более чем 20 лет книги Скотта Мейерса серии Эффективный C++ являются критерием уровня книг по программированию на C++. Понятное пояснение сложного технического материала принесло ему всемирную известность. Он всегда самый желанный гость на международных конференциях, а его услуги консультанта широко востребованы во всем мире.

    Скотт Мейерс имеет степень доктора философии (Ph.D.) в области компьютерных наук в Университете Брауна (Brown University). Его сайт находится по адресу aristeia.com.

    Отзывы о книге

    "После изучения основ C++ я перешел к изучению того, как применять C++ в промышленном программировании, с помощью серии книг Скотта Мейерса Эффективный C++. Эффективный и современный C++ — наиболее важная из книг серии, предлагающая ключевые рекомендации, стили и идиомы, позволяющие эффективно использовать современный C++. Вы еще не купили эту книгу? Сделайте это прямо сейчас."

    — Герб Саттер,глава Комитета ISO по стандартизации C++, специалист в области архитектуры программного обеспечения на C++ в Microsoft.

    Вас интересует C++? Современный C++ (т.е. C++11/C++14) — гораздо большее, чем простое внесение косметических изменений в старый стандарт. Учитывая новые возможности языка, это скорее его переосмысление. Вам нужна помощь в его освоении? Тогда перед вами именно та книга, которую вы ищете. Что касается C++, то Скотт Мейерс был и остается синонимом точности, качества и удовольствия от чтения.

    — Герхард Крейцер (Gerhard Kreuzer), Инженер-исследователь в Siemens AG.

    Трудно получить достаточный опыт и стать экспертом. Не менее трудно стать настоящим учителем, способным просто и ясно донести сложный материал до ученика. Если вы читаете эту книгу, то вы знаете человека, который объединяет оба эти качества. Книга Эффективный и современный C++ написана непревзойденным техническим писателем, который умеет излагать сложные взаимосвязанные темы ясно и понятно, блестящим литературным стилем. При этом вряд ли вам удастся найти в книге хотя бы одну техническую ошибку.

    — Андрей Александреску (Andrei Alexandrescu), доктор философии, исследователь, автор книги Современное проектирование на C++.

    Когда человек с более чем двадцатилетним опытом работы с C++ берется рассказать, как получить максимальную отдачу от современного C++ (рассказывая как о лучших подходах, так и о возможных ловушках, которых следует избегать) — я настоятельно рекомендую внимательно прочесть его книгу! Я определенно узнал из нее много нового!

    — Невин Либер (Nevin Liber), cтарший программист в DRW Trading Group.

    Бьярне Страуструп — создатель C++ — сказал: "C++11 выглядит как новый язык программирования". Книга Эффективный и современный C++ заставляет нас разделить это впечатление, поясняя, как использовать новые возможности и идиомы C++11 и C++14 в повседневной практике. Еще одна талантливая книга Скотта Мейерса.

    — Кассио Нери (Cassio Neri), аналитик в Lloyds Banking Group.

    Скотт умеет добраться до самой сути любой технической проблемы. Книги серии Эффективный C++ способствовали улучшению стиля кодирования предыдущего поколения программистов C++; новая книга делает то же самое с программистами на современном C++.

    — Роджер Орр (Roger Orr), OR/2 Limited, член Комитета ISO по стандартизации C++.

    Эффективный и современный C++ — отличный инструмент для повышения вашего уровня как программиста на современном C++. Книга не только учит тому, как, когда и где эффективно использовать современный C++, но и почему делать это именно так. Вне всякого сомнения, эта книга Скотта Мейерса даст программистам гораздо лучшее понимание языка.

    — Барт Вандвустин (Bart Vandewoestyne), инженер, исследователь и просто энтузиаст C++.

    Я люблю C++, он десятилетиями был моей рабочей лошадкой. А с новыми копытами эта лошадка стала еще сильнее и привлекательнее, чем я мог ранее себе представить. Но при больших изменениях всегда встает вопрос — "когда и как пользоваться всем этим богатством?" Как и всегда, книга Скотта Мейерса компетентно и исчерпывающе отвечает на поставленный вопрос.

    — Дамьен Уоткинс (Damien Watkins), руководитель группы программной инженерии в CSIRO.

    Отличное чтение для перехода к современному C++ — новинки языка C++11/14 описаны наряду с C++98, разделение книги на разделы позволяет легко найти интересующую тему, а в конце каждого раздела приведены итоговые рекомендации. Книга интересна и полезна для программистов на C++ всех уровней.

    — Рейчел Ченг (Rachel Cheng), F5 Networks.

    Если вы переходите с C++98/03 на C++11/14, вам нужна точная практичная информация, которую вам предоставляет Скотт Мейерс в книге Эффективный и современный C++. Если вы уже пишете код на C++11, то, вероятно, сталкивались с проблемами при применении новых возможностей, которые легко решаются чтением книги Скотта. В любом случае можно уверенно утверждать, что время, затраченное на чтение этой книги, не пропадет впустую.

    — Роб Стюарт (Rob Stewart), член Boost Steering Committee member (boost.org).

    Книга обсуждается в отдельном сообщении в блоге Виктора Штонда.


    304, c ил стр., с ил.; ISBN 978-5-907114-67-8, 978-1-49-190399-5; формат 70x100/16; твердый переплет; тип бумаги: офсетная; 07.11.2024; Вильямс.




    Раздел каталога:



    Оглавление книги "Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14"



    Введение 15
    Глава 1. Вывод типов 23
    Глава 2. Объявление auto 49
    Глава 3. Переход к современному C++ 61
    Глава 4. Интеллектуальные указатели 125
    Глава 5. Rvalue-ссылки, семантика перемещений
    и прямая передача 165
    Глава 6. Лямбда-выражения 221
    Глава 7. Параллельные вычисления 245
    Глава 8. Тонкости 281
    Предметный указатель 301


    Copyright © 1992-2020 Издательская группа "Диалектика-Вильямс"