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

Здесь есть возможность читать онлайн «Скотт Мейерс - Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2016, ISBN: 2016, Издательство: Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Эффективный и современный С++
В книге рассматриваются следующие темы. Освоение С++11 и С++14 — это больше, чем просто ознакомление с вводимыми этими стандартами возможностями (например, объявлениями типов
, семантикой перемещения, лямбда-выражениями или поддержкой многопоточности). Вопрос в том, как использовать их эффективно, чтобы создаваемые программы были корректны, эффективны и переносимы, а также чтобы их легко можно было сопровождать. Именно этим вопросам и посвящена данная книга, описывающая создание по-настоящему хорошего программного обеспечения с использованием C++11 и С++14 — т.е. с использованием современного С++.
■ Преимущества и недостатки инициализации с помощью фигурных скобок, спецификации
, прямой передачи и функций
интеллектуальных указателей
■ Связь между
,
, rvalue-ссылками и универсальными ссылками
■ Методы написания понятных, корректных,
лямбда-выражений
■ Чем
отличается от
, как они используются и как соотносятся с API параллельных вычислений С++
■ Какие из лучших методов “старого” программирования на С++ (т.е. С++98) должны быть пересмотрены при работе с современным С++
Более чем 20 лет книги
серии
являются критерием уровня книг по программированию на С++. Понятное пояснение сложного технического материала принесло ему всемирную известность. Он всегда самый желанный гость на международных конференциях, а его услуги консультанта широко востребованы во всем мире.
Скотт Мейерс Эффективный и современный С++, После изучения основ С++ я перешел к изучению того, как применять С++ в промышленном программировании, с помощью серии книг Скотта Мейерса Эффективный С++. Эффективный и современный С++ — наиболее важная из книг серии, предлагающая ключевые рекомендации, стили и идиомы, позволяющие эффективно использовать современный С++. Вы еще не купили эту книгу? Сделайте это прямо сейчас. Герб Саттер,
глава Комитета ISO по стандартизации С++, специалист в области архитектуры программного обеспечения на С++ в Microsoft

Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

14

На практике значение слабого счетчика не всегда совпадает с количеством указателей std::weak_ptr, ссылающихся на управляющий блок, поскольку разработчики библиотеки нашли способы добавлять в слабый счетчик дополнительную информацию, которая упрощает генерацию лучшего кода. В данном разделе мы игнорируем этот факт и считаем, что значение слабого счетчика представляет собой количество указателей std::weak_ptr, ссылающихся на управляющий блок.)).

15

Непереводимая игра слов, основанная на использовании для обычного указателя названия “raw pointer” (дословно — “сырой указатель”). — Примеч. пер .

16

В разделе 5.3 поясняется, что к универсальным ссылкам почти всегда может применяться std::forward, так что, когда эта книга готовилась к печати, некоторые члены сообщества С++ начинали именовать универсальные ссылки передаваемыми ссылками .

17

Такими локальными объектами являются большинство локальных переменных (например, такие как wв makeWidget), а также временные объекты, создаваемые как часть инструкции return. Параметры функции на такое звание претендовать нс могут. Некоторые программисты различают применение RVO к именованным и неименованным (т.e. временным) локальным объектам, ограничивая термин “RVO” неименованными объектами и называя его применение к именованным объектам оптимизацией именованных возвращаемых значений (named return value optimization — NRVO).

18

Известная история о том, что об одном и том же до средины наполненном стакане пессимисты говорят, что он наполовину пуст, а оптимисты — что он наполовину полон. — Примеч. пер.

19

Здесь предполагается, что битовые поля располагаются от младшего бита к старшему. С++ это не гарантирует, но компиляторы часто предлагают механизм, который позволяет программисту управлять схемой размещения битовых полей.

20

std::bindвсегда копирует свои аргументы, но вызывающий код может добиться эффекта сохранения аргумента по ссылке путем применения std::ref. Результат вызова

auto compressRateB = std::bind(compress, std::ref(w), _1);

состоит в том. что compressRateBдействует так, как если бы сохранялась ссылка на объект w, а не его копия.

21

В предположении, что таковая имеется. В некоторых встроенных системах ее нет.

22

Это упрощение. Значение имеет не фьючерс, для которого вызывается getили wait, а совместно используемое состояние, на которое ссылается фьючерс. (В разделе 7.4 обсуждается взаимосвязь фьючерсов и совместно используемых состояний.) Поскольку std: futureподдерживают перемещение, а также могут использоваться для построения std::shared_futureи поскольку std::shared_futureмогут копироваться, объект фьючерса, ссылающийся на совместно используемое состояние, возникающее из вызова std::async, в который была передана f, вероятно, будет отличаться от фьючерса, возвращенного std::async. Однако обычно просто говорят о вызове функций-членов getили waitфьючерса, возвращенного из std::async.

23

Часто их переводят как объединяемое и необъединяемое , но, на наш взгляд, термин подключение лучше отражает смысл происходящего с потоком, связанным с объектом std::thread, при вызове функции join, как и отключение для происходящего при вызове функции detach. — Примеч. пер .

24

Вы можете обратиться к книге Энтони Вильямса (Anthony Williams) С++ Concurrency in Action (Manning Publications, 2012), раздел 9.2.

25

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

26

Разумной отправной точкой для начала изучения этого вопроса является запись в моем блоге от 24 декабря 2013 года в The View From Aristeia , “ThreadRAII + Thread Suspension = Trouble?”

27

Это справедливо только для std::аtomic, использующих последовательную согласованность , которая является применяемой по умолчанию (и единственной) моделью согласованности дня объектов std::atomic, использующих показанный в этой книге синтаксис. C++11 поддерживает также модели согласованности с более гибкими правилами переупорядочения кода. Такие слабые (или смягченные ) модели делают возможным создание программного обеспечения, работающего более быстро на некоторых аппаратных архитектурах, но применение таких моделей дает программное обеспечение, которое гораздо труднее правильно понимать и поддерживать. Тонкие ошибки в коде с ослабленной атомарностью не являются редкостью даже для экспертов, так что вы должны придерживаться, насколько это возможно, последовательной согласованности.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14»

Представляем Вашему вниманию похожие книги на «Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x