Эффективный и современный С++. Скотт Мейерс

Если вы - опытный программист на языке программирования С++, как, например, я, то, наверное, первое, о чем вы подумали в связи с С++ 1 1, - "Да, да, вот и он - тот же С++, только немного улучшенный".

ПРИСОЕДИНЯЙТЕСЬ 600 Просмотры
Image

Но познакомившись с ним поближе, вы, скорее все­ го, были удивлены количеством изменений. Объявления auto, циклы for для диапазо­нов, лямбда-выражения и rvаluе-ссылки изменили лицо С++, - и это не говоря о новых возможностях параллельности.

Произошли и идиоматические изменения. О и t ypede f уступили место nullptr и объявлениям псевдонимов.

Перечисления получили области видимости. Интеллектуальные указатели стали предпочтительнее встроенных; переме­щение объектов обычно предпочтительнее их копирования. Даже без упоминания С++ 14 в С++ 11 есть что поизучать.

Что еще более важно, нужно очень многое изучить, чтобы использовать новые воз­можности эффективно. Если вам нужна базовая информация о "современных" возмож­ностях С++, то ее можно найти в избытке. Но если вы ищете руководство о том, как использовать эти возможности для создания правильного, эффективного, сопровождае­мого и переносимого программного обеспечения, поиск становится более сложным.

Вот здесь вам и пригодится данная книга. Она посвящена не описанию возможностей С++ 11 и C++14, а их эффективному применению. Информация в книге разбита на отдельные разделы, посвященные тем или иным ре­комендациям. Вы хотите разобраться в разных видах вывода типов? Или хотите узнать, когда следует (а когда нет) использовать объявление auto?

Вас интересует, почему функ­ция-член, объявленная как const, должна быть безопасна с точки зрения потоков, как реализовать идиому Pimpl с использованием s t d : : unique_ptr, почему следует из­бегать режима захвата по умолчанию в лямбда-выражениях или в чем различие между std : : аtomiс и volаtile? Ответы на эти вопросы вы найдете в книге. Более того, эти ответы не зависят от платформы и соответствуют стандарту.

Это книга о переносимом С++. Разделы книги представляют собой рекомендации, а не жесткие правила, поскольку рекомендации имеют исключения. Наиболее важной частью каждого раздела является не предлагаемая в нем рекомендация, а ее обоснование.

Прочитав раздел, вы сможете сами определить, оправдывают ли обстоятельства вашего конкретного проекта отход от данной рекомендации.

Истинная цель книги не в том, чтобы рассказать вам, как надо поступать или как поступать не надо, а в том, чтобы обеспечить вас более глубоким по­ниманием, как та или иная концепция работает в С++ 11 и С++ 14.

 

Скачать книгу можно бесплатно по данной ссылке: Скачать


Ваша реакция?

0
LOL
1
LOVED
0
PURE
0
AW
0
FUNNY
0
BAD!
0
EEW
0
OMG!
0
ANGRY
0 Комментарии

  • Эффективный и современный С++. Скотт Мейерс
  • Владимир Петров