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

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

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

Эффективный и современный C++: 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++: 42 рекомендации по использованию C++11 и C++14
Автор: Скотт Мейерс
Издательство: Вильямс
Год: 2015
Страниц: 304
Формат: PDF
Размер: 13,2 Мб
ISBN: 978-5-8459-2000-3
Качество: Отличное
Язык: Русский

Содержание:

Об авторе
Введение
Терминология и соглашения
Замечания и предложения
От редакции
Ждем ваших отзывов!
Глава 1. Вывод типов
1.1. Вывод типа шаблона
1.2. Вывод типа auto
1.3. Знакомство с decl tуре
1.4. Как просмотреть выведенные типы
Глава 2. Объявление auto
2.1. Предпочитайте auto явному объявлению типа
2.2. Если auto выводит нежелательный тип используйте явно типизированный инициализатор
Глава 3. Переход к современному С++
3.1. Различие между {} и () при создании объектов
3.2. Предпочитайте nullptr значениям 0 и NULL
3.3. Предпочитайте объявление псевдонимов применению typedef
3.4. Предпочитайте перечисления с областью видимости перечислениям без таковой
3.5. Предпочитайте удаленные функции закрытым неопределенным
3.6. Объявляйте перекрывающие функции как override
3.7. Предпочитайте итераторы const _ i terator итераторам i terator
3.8. Если функции не генерируют исключений, объявляйте их как noexcept
3.9. Используйте, где это возможно, constexpr
3.10. Делайте константные функции - члены безопасными в смысле потоков
3.11. Генерация специальных функций-членов
Глава 4. Интеллектуальные указатели
4. 1. Используйте std::unique_ptr для управления ресурсами путем исключительного владения
4.2. Используйте std::shared_ptr д ля управления ресурсами путем совместного владения
4.3. Используйте std::weak_ptr для std::shared_ptr-пoдoбныx указателей которые могут быть висячими
4.4. Предпочитайте использование std::make_unique и std::make_shared непосредственному использованию оператора new
4.5. При использовании идиомы указателя на реализацию определяйте специальные функции-ч лены в файле реализации
Глава 5. Rvalue-ccыnки, семантика перемещений и прямая передача
5. 1. Азы std::move и std::forward
5.2. Отличие универсальных ссылок от rvalue-ccылoк
5.3. Используйте std::move для rvalue-ccылoк, а std::forward д ля универсальных ссылок
5.4. Избегайте перегрузок для универсальных ссылок
5.5. Знакомство с альтернативами перегрузки для универсальных ссылок
   Отказ от перегрузки
   Передача const Т&
   Передача по значению
   Диспетчеризация дескрипторов
   Ограничения шаблонов, получающих универсальные ссылки
   Компромиссы
5.6. Свертывание ссылок
5.7. Считайте, что перемещающие операции отсутствуют, дороги или не используются
5.8. Познакомьтесь с случаями некорректной работы прямой передачи
   Инициализаторы в фигурных скобках
   0 и NULL в качестве нулевых указателей
   Целочисленные члены-данные stat ic const и constexpr без определений
   Имена перегруженных функций и имена шаблонов
   Битовые поля
   Резюме
Глава 6. Лямбда-выражения
6.1. Избегайте режимов захвата по умолчанию
6.2. Используйте инициализирующий захват для перемещения объектов в замыкания
6.3. Используйте параметры decltype для auto&& для передачи с помощью std::forward
6.4. Предпочитайте лямбда-выражения применению std::bind
Глава 7. Параллельные вычисления
7. 1. Предпочитайте программирование на основе задач программированию на основе потоков
7.2. Если важна асинхронность, указывайте std::launch::async
7.3. Делайте std::thread неподключаемым на всех путях выполнения
7.4. Помни те о разном поведении деструкторов дескрипторов потоков
7.5. Применяйте фьючерсы void для одноразовых сообщений о событиях
7.6. Используйте std::atomic для параллельности, volatile - для особой памяти
Глава 8. Тонкости
8.1. Рассмотрите передачу по значению для копируемых параметров которые легко перемещаются и всегда копируются
8.2. Рассмотрите применение размещения вместо вставки
Предметный указатель

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



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


Теги:

Эффективный

,

современный

,

рекомендации

,

использованию

«Случайные цитаты»
Беспокойство — это неудовлетворенность, а неудовлетворенность — первейшее условие прогресса. Покажите мне совершенно удовлетворенного человека, и я вам открою в нем неудачника. © Томас Эдисон
Категория: | Добавил: | 11 месяцев и 4 недели назад

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

Развитие и укрепление чувств с помощью рисования форм


Развитие и укрепление чувств с помощью рисования форм — Рисование форм - один из уникальных предметов, преподаваемых в начальных классах вальдорфской школы, но практически неизвестный за ее пределами, хотя направлен он на развитие в детях основополагающих качеств, таких как способность восприятия и концентрации, чувство гармонии, сила

Еда. Коллекция №8 (2015). Любимые рецепты. Новый год


Еда. Коллекция - Новый год - пора волшебства, в которое верят даже взрослые. Мы стараемся превратить этот праздник в чудесную сказку. Чтобы в ваш дом поскорее пришло радостное предновогоднее настроение, а на столе царило изобилие, воспользуйтесь добрыми подсказками. В сборнике почти 200 вкусных новогодних и рождественских рецептов, с помощью которых вы без труда сможете составить меню как для маленького уютного домашнего праздника, так и для серьезного торжества.

Нокс Сергей - Обречённые души. Раздор


На многие милы царил хаос. Выжженная дотла земля зияла огненными разломами. Словно когти демонов, обсидиановые пики вздымались со всех сторон. Горячий ветер разносил едкий запах гари, пепел и вулканический дым. Раскалённые угольки оседали на истерзанную мёртвую землю. Небо было затянуто чёрными, как угольная пыль, зловещими тучами, меж которых мерцали фиолетовые и алые кнуты молний.

Информация
Комментирование доступно только зарегистрированным пользователям! Мы просим вас войти под своим аккаунтом, или же зарегистрироваться, для удобства.
Design powered by XTreme.ws™ © 2008-2016