Эффективный и современный С++. 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, то, вероятно, сталкивались с проблемами при применении новых возможностей, которые легко решаются чтением книги Скотта. В любом случае можно уверенно утверждать, что время, затраченное на чтение