Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/3294: Рейтинг темы: голосов - 3294, средняя оценка - 4.55
Администратор
83620 / 52198 / 244
Регистрация: 10.04.2006
Сообщений: 13,426
1

Литература C++

17.03.2008, 10:24. Показов 682211. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Related Links
Ссылки по теме
105
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2008, 10:24
Ответы с готовыми решениями:

Литература c++
Здравствуйте. Я начал изучать плюсы пол года назад, прочитал книгу Либерти, т.е, некоторая база у...

Литература по C++11 и C++14
1. Что на данный момент актуально? Интересует C++ 11\14. 2. Стоит ли сейчас читать по C++ 11?...

Литература
Народ, подскажите пожалуйста литературу о классах в C++. Только чтобы не научным языком было...

Литература С++ и БД
Народ, посоветуйте (книгу, ресурс) связь С++ и БД( MySql, MS SQl), честно говоря в БД вообще...

Литература
Посоветуйте литературу по C++. Начинающим себя не могу назвать, но и до "про" еще как до Луны...

12
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:36 2
Hello, World!
Основы программирования и синтаксис языка

В плане литературы для начинающих сложнее всего. Уровень готовности у каждого разный. Все зависит от уже имеющихся знаний читателя и его "таланта", кто-то может быть уже знаком с другими языками программирования, у кого-то хорошая база по информатике. Постарайтесь выбрать ту книгу, которая бы наиболее подходила именно Вам. Бывает, что с первых слов не нравится стиль изложения материала - это повод обратиться к другим авторам. Если некоторые моменты остались непонятыми, прочитайте соответствующие главы в других книгах, обращайтесь на форум. Не поленитесь прорешать задания из других книг, ведь навык программирования оттачивается исключительно практикой.
  • Брайан Керниган, Деннис Ритчи - Язык программирования Си

    Название: Язык программирования С.jpg
Просмотров: 22384

Размер: 6.7 Кб

    Оригинальное название: The C Programming Language
    Автор: Брайан Керниган (Brian Kernighan), Деннис Ритчи (Dennis Ritchie)
    Издание: 2-е, 2016
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 288
    Купить: ozon.ru
    ISBN: 978-5-8459-1874-1, 0-13-110362-8

    Классическая книга по языку С, написанная самими разработчиками этого языка и выдержавшая в США уже 34 переиздания! Книга является как практически исчерпывающим справочником, так и учебным пособием по самому распространенному языку программирования. Предлагаемое второе издание книги было существенно переработано по сравнению с первым в связи с появлением стандарта ANSI С, для которого она частично послужила основой.

    Книга не рекомендуется для чтения новичкам; для своего изучения она требует знания основ программирования и вычислительной техники. Книга предназначена для широкого круга программистов и компьютерных специалистов.
    Может использоваться как учебное пособие для вузов.
  • Брюс Эккель - Философия C++. Введение в стандартный C++

    Название: Эккель.jpg
Просмотров: 22337

Размер: 6.0 Кб

    Оригинальное название: Thinking in C++. Introduction to Standart C++
    Автор: Брюс Эккель (Bruce Eckel)
    Издание: 2-е, 2004
    Издательство: Питер
    Переплёт: мягкий
    Количество страниц: 572
    Купить: ozon.ru
    ISBN: 0-13-979809-9, 5-94723-763-6

    В книге "Философия C++" последовательно и методично излагаются вопросы использования объектно-ориентированного подхода к созданию программ. Автор не просто описывает различные проблемы и способы их решения, он раскрывает перед читателем особый образ мышления, не владея которым невозможно комфортно чувствовать себя в объектно-ориентированной среде.

    Это одна из тех книг, которые обязательно должен прочесть каждый, кто всерьез занимаете разработкой программного обеспечения в C++.
  • Стивен Прата - Язык программирования C++. Лекции и упражнения

    Название: Prata.jpg
Просмотров: 22360

Размер: 4.7 Кб

    Оригинальное название: C++ Primer Plus
    Автор: Стивен Прата (Stephen Prata)
    Издание: 6-е, 2017
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1248
    Купить: ozon.ru
    ISBN: 978-5-8459-2048-5, 978-5-8459-1778-2

    Книга представляет собой тщательно проверенный, качественно составленный полноценный учебник по одной из ключевых тем для программистов и разработчиков. Эта классическая работа по вычислительной технике обучает принципам программирования, среди которых структурированный код и нисходящее проектирование, а также использованию классов, наследования, шаблонов, исключений, лямбда-выражений, интеллектуальных указателей и семантики переноса.
    Автор и преподаватель Стивен Прата создал поучительное, ясное и строгое введение в С++. Фундаментальные концепции программирования излагаются вместе с подробными сведениями о языке С++. Множество коротких практических примеров иллюстрируют одну или две концепции за раз, стимулируя читателей осваивать новые темы за счет непосредственной их проверки на практике. Вопросы для самоконтроля и упражнения по программированию, предлагаемые в конце каждой главы, помогут читателям сосредоточиться на самой критически важной информации и систематизировать наиболее сложные концепции.
    Написанное в дружественном стиле, простое в освоении руководство для самостоятельного изучения подойдет как студентам, обучающимся программированию, так и разработчикам, имеющим дело с другими языками и стремящимся лучше понять фундаментальные основы этого ключевого языка программирования. Шестое издание этой книги обновлено и расширено с учетом последних тенденций в разработке на С++, а также с целью детального отражения нового стандарта С++11.
  • Стенли Липпман - Язык программирования C++. Базовый курс

    Название: CPP Primer Lippman.jpg
Просмотров: 22378

Размер: 5.8 Кб

    Оригинальное название: C++ Primer
    Авторы: Стенли Липпман (Stanley Lippman), Жози Лажойе (Josée Lajoie), Барбара Му (Barbara Moo)
    Издание: 5-е, 2017
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1120
    Купить: ozon.ru
    ISBN: 5-8459-1121-4, 0-201-72148-1

    Книга "Язык программирования C++. Базовый курс" (5-е издание) - новое издание популярного и исчерпывающего бестселлера по языку программирования C++, которое было полностью пересмотрено и обновлено под стандарт C++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. В соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.

    С самого начала книги "Язык программирования C++. Базовый курс" читатель знакомится со стандартной библиотекой C++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать их наилучшие способы применения. Книга "Язык программирования C++. Базовый курс" - не только проверенное руководство для новичков в C++, она содержит также авторитетное обсуждение базовых концепций и методик языка C++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях C++11.
  • Бьярне Страуструп - Программирование. Принципы и практика с использованием C++

    Название: Принципы и практика.jpg
Просмотров: 22332

Размер: 8.0 Кб

    Оригинальное название: Programming: Principles and Practice Using C++
    Авторы: Бьярне Страуструп (Bjarne Stroustrup)
    Издание: 2-е, 2016
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1328
    Купить: ozon.ru
    ISBN: 978-5-8459-1949-6, 978-0-321-99278-9

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

    В первую очередь, книга адресована начинающим программистам и студентам компьютерных специальностей, которые найдут в ней много новой информации, и смогут узнать точку зрения создателя языка С++ на современные методы программирования.
    Если вы решили стать программистом, и уже знакомы с азами C++ — эта книга для вас, в первую очередь потому, что программирование — это не только, и не столько знание инструмента (языка программирования C++), сколько понимание самого процесса. Автор недаром не ограничился своим первоклассным (но ни в коей мере не являющимся учебником для программистов без большого практического опыта) трудом Язык программирования C++.
    Проводя грубую аналогию — виртуозное владение топором никого не делало настоящим плотником. Бьярне Страуструп в очередной раз приходит на помощь программистам — создав уникальный язык программирования, он не ограничивается им и рассказывает о том, как правильно им воспользоваться, даже не зная все его тонкости и возможности.
    Основные темы книги:
    Подготовка к созданию реальных программ. Автор книги предполагает, что читатели в конце концов начнут писать нетривиальные программы либо в качестве профессиональных разработчиков программного обеспечения, либо в качестве программистов, работающих в других областях науки и техники.
    Упор на основные концепции и методы. Основные концепции и методы программирования в книге излагаются глубже, чем это принято в традиционных вводных курсах. Этот подход дает основательный фундамент для разработки полезных, правильных, понятных и эффективных программ.
    Программирование на современном языке С++ (C++11 и C++14). Книга представляет собой введение в программирование, включая объектно-ориентированное и обобщенное программирование. Одновременно она представляет собой введение в язык С++, один из широко применяющихся языков программирования в современном мире. В книге описаны современные методы программирования на С++, включая стандартную библиотеку и возможности C++11 и C++14, позволяющие упростить программирование.

    Для начинающих программистов и всех, кто хочет научиться программировать. Книга предназначена в основном для людей, никогда ранее не программировавших, и опробована на более чем тысяче студентов университета. Однако и опытные программисты, и студенты, уже изучившие основы программирования, найдут в книге много полезной информации, которая позволит им перейти на еще более высокий уровень мастерства.
    Широкий охват тем. Первая половина книги охватывает широкий спектр основных понятий, методов проектирования и программирования, свойств языка С++ и его библиотек. Это позволит читателям писать программы, выполняющие ввод и вывод данных, вычисления и построение простых графических изображений. Во второй половине рассматриваются более специализированные темы (такие как обработка текста, тестирование и язык C). В книге содержится много справочного материала. Исходные тексты программ и иные материалы читатели могут найти на веб-сайте автора.
  • Харви Дейтел, Пол Дейтел - Как программировать на C++

    Название: Deitel.jpg
Просмотров: 22398

Размер: 43.3 Кб

    Оригинальное название: C++: How to Program
    Авторы: Харви М. Дейтел (H. M. Deitel), Пол Дж. Дейтел (P. J. Deitel)
    Издание: 5-е, 20081
    Издательство: Бином-Пресс
    Переплёт: твёрдый
    Количество страниц: 1456
    Купить: ozon.ru
    ISBN: 978-5-9518-0224-8, 0-13-185757-6

    Книга является одним из самых популярных в мире учебников по C++. Характерной ее особенностью является "раннее введение" в классы и объекты, т. е. начала объектно-ориентированного программирования вводятся уже в 3-й главе, без предварительного изложения унаследованных от языка C элементов процедурного и структурного программирования, как это делается в большинстве курсов по C++. Большое внимание уделяется объектно-ориентированному проектированию (OOD) программных систем с помощью графического языка UML 2, чему посвящен ряд факультативных разделов, описывающих последовательную разработку большого учебного проекта.
    В текст книги включена масса примеров "живого кода" - подробно комментированных работающих программ с образцами их запуска, а также несколько подробно разбираемых интересных примеров. В конце каждой главы имеется обширный набор контрольных вопросов и упражнений.

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

    _________________________
    1На английском имеется уже 10-е издание с учётом нововведений стандарта C++14.
238
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:36 3
C++, Level Up!
Детали

Язык программирования C++ часто критикуют за сложность понимания, а также наличие потенциально опасных конструкций и возможностей. Вы уже владеете основами, все еще любите и желаете изучать C++? Следуюшие книги позволят Вам разобраться в тонкостях и избежать многих ошибок.
  • Бьярне Страуструп - Язык программирования C++
    Оригинальное название: The C++ Programming Language
    Автор: Бьярне Страуструп (Bjarne Stroustrup)
    Издание: Специальное издание, 20111
    Издательство: Бином
    Переплёт: твёрдый
    Количество страниц: 1136
    Купить: ozon.ru
    ISBN: 978-5-7989-0425-9, 0-201-70073-5

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

    Книга адресована программистам, использующим в своей повседневной работе С++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка "из первых рук".
    _________________________
    1Русский перевод сделан с 1-го английского. На английском имеется уже 4-е издание.
  • Эндрю Кениг, Барбара Му - Эффективное программирование на C++

    Оригинальное название: C++ In-Depth Box Set First Edition, Vol. 2: Accelerated C++: Practical Programming by Example
    Автор: Эндрю Кениг (Andrew Koenig), Барбара Му (Barbara E. Moo)
    Издание: 1-е, 2015
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 368
    Купить: ozon.ru
    ISBN: 5-8459-0350-5

    Эта книга, в первую очередь, предназначена для тех, кому хотелось бы быстро научиться писать настоящие программы на языке C++. Зачастую новички в C++ пытаются освоить язык чисто механически, даже не попытавшись узнать, как можно эффективно применить его к решению каждодневных проблем. Цель данной книги - научить программированию на C++, а не просто изложить средства языка, поэтому она полезна не только для новичков, но и для тех, кто уже знаком с C++ и хочет использовать этот язык в более натуральном, естественном стиле.
  • Скотт Мeйерс - Эффективное использование C++: 55 верных советов улучшить структуру и код ваших программ


    Оригинальное название: Effective C++: 55 Specific Ways to Improve Your Programs and Designs
    Автор: Скотт Мeйерс (Scott Meyers)
    Издание: 3-е, 2014
    Издательство: ДМК-Пресс
    Переплёт: мягкий
    Количество страниц: 300
    Купить: ozon.ru
    ISBN: 5-94074-304-8, 0-321-33487-6, 978-5-97060-088-7

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

    Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.
  • Скотт Мeйерс - Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов
    Оригинальное название: More Effective C++: 35 New Ways to Improve Your Programs and Designs
    Автор: Скотт Мeйерс (Scott Meyers)
    Издание: 1-е, 2016
    Издательство: ДМК-Пресс
    Переплёт: мягкий
    Количество страниц: 298
    Купить: ozon.ru
    ISBN: 5-469-01215-8, 0-201-63371-X

    В книге С.Мейерса, которая является продолжением популярного издания Effective C++, приводятся рекомендации по наиболее эффективному использованию конструкций языка C++. Рассматриваются правила перегрузки операторов, способы приведения типов, реализация механизма RTTI и многое другое. Даны практические советы по применению буферизованного оператора new, виртуальных конструкторов, интеллектуальных указателей, proxy-классов и двойной диспетчеризации. Особое внимание уделяется работе с исключениями и возможностям использования кода С в программах, написанных на C++. Подробно описаны новейшие средства языка и показано, как с их помощью повысить производительность программ. Приложения содержат код шаблона auto_ptr и аннотированный список литературы и Internet-ресурсов, посвященных C++.

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

    Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.
  • Скотт Мeйерс - Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14
    Название: 42 Meyers.jpg
Просмотров: 22062

Размер: 8.0 Кб

    Оригинальное название: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
    Автор: Скотт Мeйерс (Scott Meyers)
    Издание: 1-е, 2016
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 304
    Купить: ozon.ru
    ISBN: 978-5-8459-2000-3, 978-1-49-190399-5

    В этой книге отражен бесценный опыт ее автора как программиста на 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++


    Оригинальное название: Exceptional C++, More Exceptional C++1
    Автор: Герб Саттер (Herb Sutter)
    Издание: 1-е, 2015
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 400
    Купить: ozon.ru
    ISBN: 978-5-8459-0352-5, 0-201-77581-6

    В данном издании объединены две широко известные профессионалам в области программирования на C++ книги Герба Саттера Exceptional C++ и More Exceptional C++ , входящие в серию книг C++ In-Depth, редактором которой является Бьерн Страуструп, создатель языка C++.

    Материал этой книги составляют переработанные задачи серии Guru of the Week, рассчитанные на читателя с достаточно глубоким знанием C++, однако книга будет полезна каждому, кто хочет углубить свои знания в этой области.

    ___________________________________________
    1Русское издание объединяет под одной обложкой два перевода двух разных книг Герба Саттера: "Exceptional C++" (2000 года) и "More Exceptional C++" (2002 года)
  • Герб Саттер - Новые сложные задачи на C++


    Оригинальное название: Exceptional C++ Style
    Автор: Герб Саттер (Herb Sutter)
    Издание: 1-е, 2015
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 272
    Купить: ozon.ru
    ISBN: 978-5-8459-1972-4

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

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

  • Стивен Дьюхерст - Скользкие места С++. Как избежать проблем при проектировании и компиляции ваших программ

    Название: Dewhurst.jpg
Просмотров: 21989

Размер: 8.4 Кб

    Оригинальное название: C++ Gotchas: Avoiding Common Problems in Coding and Design
    Автор: Стивен Дьюхерст (Stephen C. Dewhurst)
    Издание: 1-е, 2017
    Издательство: ДМК Пресс
    Переплёт: мягкий
    Количество страниц: 264
    Купить: ozon.ru
    ISBN: 978-5-97060-475-5, 978-0-321-12518-7

    Это руководство по тому, как не допускать и исправлять 99% типичных, разрушительных и просто любопытных ошибок при проектировании и реализации программ на языке C++. Эту книгу можно рассматривать также, как взгляд посвященного на нетривиальные особенности и приемы программирования на C++.
    Обсуждаются как наиболее распространенные "ляпы", имеющиеся почти в любой программе на C++, так и сложные ошибки в использовании синтаксиса, препроцессора, преобразований типов, инициализации, управления памятью и ресурсами, полиморфизма, а также при проектировании классов и иерархий. Все ошибки и их последствия обсуждаются в контексте. Подробно описываются способы разрешения указанных проблем.
    Автор знакомит читателей с идиомами и паттернами проектирования, с помощью которых можно решать типовые задачи. Читатель также узнает много нового о плохо понимаемых возможностях C++, которые применяются в продвинутых программах и проектах.
    В книге рассказывается, как миновать наиболее серьезные опасности, подстерегающие программиста на C++.

    Издание предназначено для всех программистов, желающих научиться писать правильные и корректно работающие программы на языке С++.
14
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:36 4
STL
Стандартная Библиотека Шаблонов

Стандартная библиотека шаблонов (STL) - набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++. Стандартная библиотека шаблонов существенно облегчает и ускоряет разработку. Применение высокоуровневых конструкций позволяет почти полностью забыть о кропотливой работе с памятью. Любой современный компилятор должен поддерживать возможности STL. Не стоит пренебрегать всей мощью и возможностями, которые может предложить данная библиотека.
  • Николаи Йосуттис - C++. Стандартная библиотека

    Название: Джосаттис.jpg
Просмотров: 22079

Размер: 8.0 Кб

    Оригинальное название: The C++ Standard Library. A Tutorial and Reference
    Автор: Николаи Йосуттис (Nicolai Josuttis)
    Год издания: 2014
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1136
    Купить: ozon.ru
    ISBN: 978-5-8459-1837-6

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

    В данной книге описывается библиотека как часть нового стандарта ANSI/ISO C++ (C++11). Здесь содержится исчерпывающее описание каждого компонента библиотеки, включая его предназначение и структуру; очень подробно описываются сложные концепции и тонкости практического программирования, необходимые для их эффективного использования, а также ловушки и подводные камни; приводятся точные сигнатуры и определения наиболее важных классов и функций, а также многочисленные примеры работоспособных программ. Основным предметом изучения в книге является стандартная библиотека шаблонов (STL), в частности контейнеры, итераторы, функциональные объекты и алгоритмы.

    В книге описаны все новые компоненты библиотеки, вошедшие в стандарт С++11, в частности:

    Параллельная работа;
    Арифметика рациональных чисел;
    Часы и таймеры;
    Кортежи;
    Новые контейнеры STL;
    Новые алгоритмы STL;
    Новые интеллектуальные указатели;
    Случайные числа и распределения;
    Свойства типов и утилиты;
    Регулярные выражения;

    В книге также рассматривается новый стиль программирования на С++ и его влияние на стандартную библиотеку, включая лямбда-функции, диапазонные циклы for, семантику перемещения и вариативные шаблоны.

  • Яцек Галовитц - С++17 STL - Стандартная библиотека шаблонов

    Название: JacekGalowicz-CPP17-STL2.png
Просмотров: 14888

Размер: 20.1 Кб

    Оригинальное название: С++17 STL Cookbook
    Автор: Яцек Галовитц (Jacek Galowicz)
    Год издания: 2018
    Издательство: Питер
    Переплёт: мягкий
    Количество страниц: 432
    Купить: ozon.ru
    ISBN: 978-5-4461-0680-6
    С++ — объектно-ориентированный язык программирования, без которого сегодня немыслима промышленная разработка ПО. В этой замечательной книге описана работа с контейнерами, алгоритмами, вспомогательными классами, лямбда-выражениями и другими интересными инструментами, которыми богат современный С++. Освоив материал, вы сможете коренным образом пересмотреть привычный подход к программированию. Преимущество издания — в подробном описании стандартной библиотеки шаблонов С++, STL. Ее свежая версия была выпущена в 2017 году. В книге вы найдете более 90 максимально реалистичных примеров, которые демонстрируют всю мощь STL. Многие из них станут базовыми кирпичиками для решения более универсальных задач. Вооружившись этой книгой, вы сможете эффективно использовать С++17 для создания высококачественного и высокопроизводительного ПО, применимого в различных отраслях.

  • Дэвид Мюссер, Атул Сейни - C++ и STL. Справочное руководство


    Оригинальное название: STL Tutorial and Reference Guide: C++ Programming
    Авторы: Дэвид Р. Мюссер (David R. Musser), Атул Сейни (Atul Saini)
    Год издания: 2010
    Купить: ozon.ru
    ISBN: 978-5-8459-1665-5, 978-0-321-70212-8

    Написанная авторами, принимавшими участие в разработке и практическом применении STL, данная книга представляет собой полное справочное руководство по данной теме. Она включает небольшой учебный курс, подробное описание каждого элемента библиотеки и большое количество примеров.
    В книге вы найдете подробное описание итераторов, обобщенных алгоритмов, контейнеров, функциональных объектов и т.д. Ряд нетривиальных приложений демонстрирует использование мощи и гибкости STL в повседневной работе программиста. Книга также разъясняет, как интегрировать STL с другими объектно-ориентированными методами программирования. Она будет вашим постоянным спутником и советчиком при работе над проектами любой степени сложности. Во втором издании отражены все самые последние изменения в STL на момент написания книги; в нем появились новые главы и приложения. Множество новых примеров иллюстрируют отдельные концепции и технологии; большие демонстрационные программы показывают, как использовать STL в реальной разработке приложений на языке программирования C++.

  • Скотт Мейерс - Эффективное использование STL
    Оригинальное название: Effective STL
    Автор: Скотт Мейерс (Scott Meyers)
    Год издания: 2002
    Купить: ozon.ru
    ISBN: 5-94723-382-7

    Библиотека STL (Standard Template Library) произвела настоящий переворот в программировании C++, но ее освоение традиционно считалось весьма сложной задачей. К счастью, ситуация изменилась. В этой книге известный автор и программист Скотт Мейерс раскрывает секреты мастерства, позволяющие добиться максимальной эффективности при работе с этой библиотекой. В книге приводится множество рекомендаций и приемов работы в STL. Эти рекомендации подкреплены подробным анализом и убедительными примерами, поэтому читатель легко узнает, как решить ту или иную задачу и принять верное решение.



7
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:36 5
Object-oriented programming
Объектно-ориентированное программирование

Появление в ООП отдельного понятия класса закономерно вытекает из желания иметь множество объектов со сходным поведением. Класс в ООП - это в чистом виде абстрактный тип данных, создаваемый программистом. С этой точки зрения объекты являются значениями данного абстрактного типа, а определение класса задаёт внутреннюю структуру значений и набор операций, которые над этими значениями могут быть выполнены. Желательность иерархии классов (а значит, наследования) вытекает из требований к повторному использованию кода - если несколько классов имеют сходное поведение, нет смысла дублировать их описание, лучше выделить общую часть в общий родительский класс, а в описании самих этих классов оставить только различающиеся элементы.
Необходимость совместного использования объектов разных классов, способных обрабатывать однотипные сообщения, требует поддержки полиморфизма - возможности записывать разные объекты в переменные одного и того же типа. В таких условиях объект, отправляя сообщение, может не знать в точности, к какому классу относится адресат, и одни и те же сообщения, отправленные переменным одного типа, содержащим объекты разных классов, вызовут различную реакцию.
В следующих книгах рассматривается объектно-ориентированное программирование с точки зрения C++.
  • Роберт С. Мартин - Гибкая разработка программ на Java и C++: принципы, паттерны и методики

    Название: Мартин - Гибкая разработка программ на Java и C++ (97x135).jpg
Просмотров: 3341

Размер: 8.1 Кб

    Оригинальное название: Agile Software Development: Principles, Patterns and Practices
    Автор: Роберт С. Мартин (Robert Cecil Martin)
    Год издания: 2020
    Издательство: Диалектика
    Переплёт: твёрдый
    Количество страниц: 704
    Купить: ozon.ru
    ISBN: 978-5-9908462-8-9

    Будучи написанной разработчиками для разработчиков, книга содержит уникальный набор актуальных методов разработки программного обеспечения. В ней рассматриваются объектно-ориентированное проектирование, UML, паттерны, приемы гибкого и экстремального программирования, а также приводится детальное описание полного процесса проектирования для многократно используемых программ на C++ и Java. С применением практического подхода к решению задач в книге показано, как разрабатывать объектно-ориентированное приложение - от ранних этапов анализа и низкоуровневого проектирования до этапа реализации. Читатели ознакомятся с мыслями разработчика - здесь представлены ошибки, тупики и творческие идеи, которые возникают в процессе проектирования программного обеспечения.
  • Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений

    Название: Буч - ОО анализ и проектирование с примерами приложений (97x150).jpg
Просмотров: 16877

Размер: 5.6 Кб

    Оригинальное название: Object-Oriented Analysis and Design with Application
    Авторы: Гради Буч (Grady Booch), Роберт А. Максимчук (Robert A. Maksimchuk), Майкл У. Энгл (Michael W. Engle), Бобби Дж. Янг (Bobbi J. Young), Джим Коналлен (Jim Conallen), Келли А. Хьюстон (Kelli A. Houston)
    Год издания: 2010
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 720
    Купить: ozon.ru
    ISBN: 978-5-8459-1401-9, 0-201-89551-X

    Авторы описывают объектные методы решения сложных проблем, связанные с разработкой систем и программного обеспечения. Используя многочисленные примеры, они иллюстрируют основные концепции объектно-ориентированного подхода на примере разработки систем управления, сбора данных и искусственного интеллекта. Читатели найдут в книге практичные советы, касающиеся важных вопросов анализа, проектирования, реализации и оптимального управления проектами.

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

4
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:48 6
Generic Programming
Обобщенное программирование: Шаблоны C++

Обобщённое программирование - парадигма программирования, заключающаяся в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание. В языке C++ обобщённое программирование основывается на понятии «шаблон», обозначаемом ключевым словом template. Широко применяется в стандартной библиотеке C++ (см. STL), а также в библиотеке boost. Между тем, шаблоны C++ являются одной из наиболее сложных и труднопонимаемых концепций. Возможно, что внимательное изучение литературы, поможет Вам избежать некоторого шока при виде шаблонного кода.
  • Андрей Александреску - Современное проектирование на С++
    Название: Александреску - Современное проектирование на С++ (97x150).jpg
Просмотров: 16910

Размер: 14.0 Кб
    Оригинальное название: Modern C++ Design
    Автор: Андрей Александреску (Andrei Alexandrescu)
    Год издания: 2015
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 336
    Купить: ozon.ru
    ISBN: 978-5-8459-1940-3, 0-201-70431-5

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

    Книга предназначена для опытных программистов на C++.

  • Дэвид Вандевурд, Николаи М. Йосуттис - Шаблоны C++. Справочник разработчика

    Название: Вандевурд, Йосуттис - Шаблоны C++. Справочник разработчика (97x150).jpg
Просмотров: 16905

Размер: 13.5 Кб
    Оригинальное название: C++ Templates: The Complete Guide
    Автор: Дэвид Вандевурд (David Vandevoorde), Николаи М. Йосуттис (Nicolai M. Josuttis)
    Издание: 2-е, 2018
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 848
    Купить: ozon.ru
    ISBN: 978-5-9500296-8-4

    Шаблоны C++ представляют собой активно развивающуюся часть языка программирования, предоставляющую программисту новые возможности быстрой разработки эффективных и надежных программ и повторного использования кода. Данная книга, написанная в соавторстве теоретиком C++ и программистом-практиком с большим опытом, удачно сочетает строгость изложения и полноту освещения темы с вопросами практического использования шаблонов. В книге содержится масса разнообразного материала, относящегося к программированию с использованием шаблонов, в том числе материал, который даст опытным программистам возможность преодолеть современные ограничения в этой области.
    Книга предполагает наличие у читателя достаточно глубоких знаний языка C++; тем не менее стиль изложения обеспечивает доступность материала как для квалифицированных специалистов, так и для программистов среднего уровня.
151
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
18.09.2011, 14:48 7
Design patterns
Шаблоны проектирования

В разработке программного обеспечения, шаблон проектирования или паттерн (англ. design pattern) — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Знание шаблонов проектирования может существенно облегчить построение архитектуры приложения. Основные паттерны и их применение описаны в следующих книгах.
  • Гамма, Хелм, Джонсон, Влиссидес - Приемы объектно-ориентированного проектирования. Паттерны проектирования


    Название: GoF - Design Patterns (97x150).jpg
Просмотров: 16905

Размер: 21.1 Кб

    Оригинальное название: Design Patterns: Elements of Reusable Object-Oriented Software
    Авторы: Э. Гамма (Erich Gamma), Р. Хелм (Richard Helm), Р. Джонсон (Ralph Johnson), Дж. Влиссидес (John Vlissides)
    Год издания: 2016
    Издательство: Питер
    Переплёт: мягкий
    Количество страниц: 366
    Купить: ozon.ru
    ISBN: 978-5-459-01720-5, 978-5-496-00389-6

    В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.

    Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.

  • Влиссидес - Применение шаблонов проектирования. Дополнительные штрихи

    Название: Влиссидес - Применение шаблонов проектирования (97x150).jpg
Просмотров: 16873

Размер: 12.9 Кб

    Оригинальное название: Pattern Hatching. Design Patterns Applied
    Автор: Дж. Влиссидес (John Vlissides)
    Год издания: 2017
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 144
    Купить: ozon.ru
    ISBN: 978-5-8459-0393-8, 0-201-43293-5

    Данная книга предназначена для разработчиков программного обеспечения, использующих в своей работе шаблоны проектирования. Шаблоны по праву считаются сегодня одной из наиболее популярных концепций объектно-ориентированного программирования. В этой книге на многочисленных примерах рассматриваются важные аспекты применения шаблонов проектирования, которые не были должным образом освещены в знаменитой книге `Design Patterns`(Джон Влиссидес является одним из ее соавторов). Здесь представлены вариации уже известных шаблонов, а также новые шаблоны. Кроме того автор изложил свое понимание процесса разработки шаблонов и предложил ряд рекомендаций начинающим разработчикам. Книга предназначена для специалистов и предполагает определенный уровень знакомства с шаблонами проектирования и языком С++.

4
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
10.03.2015, 20:15 8
Algorithms and Data Structures
Алгоритмы и структуры данных

Для чего нужно знать алгоритмы и теорию анализа, если можно выполнять работу и без этих знаний? Чтобы быть квалифицированным специалистом в своей профессии, иметь карьерный рост и уважение коллег. Чтобы эффективно решать поставленные задачи и не изобретать велосипедов. Чтобы не писать монстров с огромным количеством сторонних библиотек, которые занимают сотни мегабайт на диске от отжирают кучу памяти на сервере и регулярно падают по случайной причине в зависимости от фазы луны. Чтобы эффективно и с максимальными возможностями использовать язык, на которым вы пишете. Чтобы принимать информированные и осмысленные решения по выбору библиотеки и технологии для решения проблемы. [источник]
  • Никлаус Вирт - Алгоритмы и структуры данных. Новая версия для Оберона


    Название: Вирт2.jpg
Просмотров: 24854

Размер: 14.1 Кб
    Оригинальное название: Algorithms and Data Structures
    Авторы: Никлаус Вирт (Niklaus Wirth)
    Год издания: 2016
    Издательство: ДМК Пресс
    Переплёт: мягкий
    Количество страниц: 272
    Купить: ozon.ru
    ISBN: 978-5-97060-230-0, 978-013022005-9

    В классическом учебнике тьюринговского лауреата Н.Вирта аккуратно, на тщательно подобранных примерах прорабатываются основные темы алгоритмики - сортировка и поиск, рекурсия, динамические структуры данных.
    Перевод на русский язык выполнен заново, все рассуждения и программы проверены и исправлены, часть примеров по согласованию с автором переработана с целью максимального прояснения их логики (в том числе за счет использования цикла Дейкстры). Нотацией примеров теперь служит Оберои/Компонентный Паскаль - наиболее совершенный потомок старого Паскаля по прямой линии.
    Все программы проверены и работают в популярном варианте Оберона - системе Блэкбокс, и доступны в исходниках на сайте издательства вместе с самой системой и дополнительными материалами.
    Большая часть материала книги составляет необходимый минимум знаний по алгоритмике не только для программистов-профессионалов, но и любых других специалистов, активно использующих программирование в работе.

    Книга может быть использована как учебное пособие при обучении будущих программистов, начиная со старшеклассников в профильном обучении, а также подходит для систематического самообразования.

  • Роберт Седжвик - Алгоритмы на C++


    Название: Седжвик2.jpg
Просмотров: 24877

Размер: 19.6 Кб
    Оригинальное название: Algorithms in C++
    Автор: Роберт Седжвик (Robert Sedgewick)
    Год издания: 2014 (3-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1056
    Купить: ozon.ru
    ISBN: 978-5-8459-1650-1, 978-0-321-60633-4, 978-5-8459-2070-6

    Роберт Седжвик тщательно переписал, существенно расширил и обновил свою популярную книгу, чтобы получилось современное и исчерпывающее описание важных алгоритмов и структур данных. Вместе с Кристофером Ван Виком он разработал новые реализации на C++, которые выражают эти методы в сжатом, но наглядном виде, а также предоставляют программистам практические средства для их проверки в реальных приложениях.
    В книге представлено много новых алгоритмов, а их объяснения гораздо более подробны, чем в предыдущем издании. Новая структура текста и подробные иллюстрации к нему вместе с сопутствующими комментариями значительно улучшают представление материала. Третье издание также содержит удачное сочетание теории и практики, которые делают работу Седжвика бесценным источником сведений для более чем 250 000 программистов!
    В частях 1-4 книги рассматриваются фундаментальные алгоритмы, структуры данных, сортировка и поиск. В ней приведено подробное описание фундаментальных структур данных и алгоритмов для сортировки, поиска и сопутствующих приложений. Хотя, по сути, материал книги применим к программированию на любом языке, реализации Ван Вика и Седжвика используют естественную связь между классами C++ и реализациями абстрактных типов данных (АТД). В части 5 книги рассматриваются алгоритмы на графах, которые играют все более важную роль во множестве приложений, таких как сетевая связность, конструирование электронных схем, составление графиков, обработка транзакций и выделение ресурсов. Каждая часть содержит новые алгоритмы и реализации, усовершенствованные описания и диаграммы, а также множество новых упражнений для лучшего усвоения материала. Акцент на АТД расширяет диапазон применения программ и лучше соотносится с современными средами объектно-ориентированного программирования.

  • Томас Кормен - Алгоритмы. Построение и анализ


    Название: Кормен2.jpg
Просмотров: 24824

Размер: 13.1 Кб
    Оригинальное название: Introduction to Algorithms
    Авторы: Томас Кормен (Thomas H. Cormen), Чарльз Лейзерсон (Charles E. Leiserson), Рональд Ривест (Ronald L. Rivest), Клиффорд Штайн (Clifford Stein)
    Год издания: 2013 (3-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 1677
    Купить: ozon.ru
    ISBN: 978-5-8459-2016-4

    Книга "Алгоритмы. Построение и анализ" удачно объединяет в себе полноту охвата и строгость изложения материала. Много книг, посвященных алгоритмам, отличается строгостью изложения материала, но страдает определенной неполнотой; другие книги охватывают огромный объем материала, но недостаточно строго излагают его. В книге "Алгоритмы. Построение и анализ" описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы в книге "Алгоритмы. Построение и анализ" описаны простым человеческим языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний.

  • Харольд Абельсон, Джеральд Джей Сассман - Структура и Интерпретация Компьютерных Программ


    Название: SICP.jpg
Просмотров: 24817

Размер: 16.1 Кб
    Оригинальное название: Structure and Interpretation of Computer Programs
    Авторы: Харольд Абельсон (Harold Abelson) и Джеральд Джей Сассман (Gerald Jay Sussman)
    Год издания: 2010 (2-е издание)
    Издательство: Добросвет, КДУ
    Переплёт: мягкий
    Количество страниц: 608
    Купить: ozon.ru
    ISBN: 978-5-98227-708-4, 978-5-98227-829-6

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

  • Дональд Кнут - Искусство программирования. Том 1. Основные алгоритмы


    Название: Кнут1.jpg
Просмотров: 24794

Размер: 12.1 Кб
    Оригинальное название: The Art of Computer Programming: Volume 1: Fundamental Algorithms
    Авторы: Дональд Кнут (Donald Ervin Knuth)
    Год издания: 2015 (3-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 720
    Купить: ozon.ru
    ISBN: 978-5-8459-1984-7, 978-5-8459-0080-7, 0-201-89683-4

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

  • Дональд Кнут - Искусство программирования. Том 2. Получисленные алгоритмы


    Название: Кнут2.jpg
Просмотров: 24796

Размер: 14.0 Кб
    Оригинальное название: The Art of Computer Programming: Volume 2: Seminumerical Algorithms
    Авторы: Дональд Кнут (Donald Ervin Knuth)
    Год издания: 2011 (3-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 832
    Купить: ozon.ru
    ISBN: 978-5-8459-0081-4, 5-8459-0081-6, 0-201-89684-2

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

  • Дональд Кнут - Искусство программирования. Том 3. Сортировка и поиск


    Название: Кнут3.jpg
Просмотров: 24817

Размер: 11.9 Кб
    Оригинальное название: The Art of Computer Programming: Volume 3: Sorting and Searching
    Авторы: Дональд Кнут (Donald Ervin Knuth)
    Год издания: 2012 (2-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 824
    Купить: ozon.ru
    ISBN: 978-5-8459-0082-1, 0-201-89685-0

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

  • Дональд Кнут - Искусство программирования. Том 4, А. Комбинаторные алгоритмы. Часть 1


    Название: Кнут4а.jpg
Просмотров: 24764

Размер: 10.9 Кб
    Оригинальное название: The Art of Computer Programming: Volume 4A: Combinatorial Algorithms: Part 1
    Авторы: Дональд Кнут (Donald Ervin Knuth)
    Год издания: 2015 (2-е издание)
    Издательство: Вильямс
    Переплёт: твёрдый
    Количество страниц: 960
    Купить: ozon.ru
    ISBN: 978-5-8459-1744-7, 978-0-201-03804-0

    Эта книга представляет собой том 4А, поскольку сам том 4 является многотомником. Комбинаторный поиск — богатая и важная тема, и Кнут приводит слишком много нового, интересного и полезного материала, чтобы его можно было разместить в одном или двух (а может быть, даже в трех) томах. Одна эта книга включает около 1500 упражнений с ответами для самостоятельной работы, а также сотни полезных фактов, которые вы не найдете ни в каких других публикациях. Том 4А определенно должен занять свое место на полке рядом с первыми тремя томами этой классической работы в библиотеке каждого серьезного программиста.
    В этом томе рассматриваются методы, позволяющие компьютерам эффективно работать с задачами гигантского размера. Рассматриваемый материал начинается с булевых функций и технологий и трюков работы с битами, затем всесторонне рассматривается генерация всех кортежей и перестановок, всех сочетаний и разбиений, и всех деревьев.
    Комбинаторный поиск — богатая и важная тема, и Кнут приводит слишком много нового, интересного и полезного материала, чтобы его можно было разместить в одном или двух (а может быть, даже в трех) томах. Одна эта книга включает около 1500 упражнений с ответами для самостоятельной работы, а также сотни полезных фактов, которые вы не найдете ни в каких других публикациях. Том 4А определенно должен занять свое место на полке рядом с первыми тремя томами этой классической работы в библиотеке каждого серьезного программиста.
    Этот многотомный труд широко известен как полное изложение информатики. В течение десятилетий первые три тома служили бесценным источником информации по теории и практике программирования для студентов, теоретиков и практиков. Ученые восхищались красотой и изяществом анализа Кнута, в то время как практикующие программисты успешно применяли его ""поваренную книгу"" для решения ежедневных задач.

26
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
10.03.2015, 20:15 9
Concurrent programming
Параллельное программирование

Когда-то параллельное программирование было уделом только тех одиночек, которых интересовали задачи для огромных суперкомпьютеров. Но теперь, когда на многоядерных процессорах начали работать обычные приложения, параллельное программирование стало технологией, которую должен освоить и уметь применять любой профессиональный разработчик ПО.
  • Энтони Уильямс - Параллельное программирование на C++ в действии


    Название: Concurrency In Action.jpg
Просмотров: 21801

Размер: 5.8 Кб
    Оригинальное название: C++ Concurrency in Action: Practical Multithreading
    Авторы: Энтони Уильямс (Anthony Williams)
    Год издания: 2016
    Издательство: ДМК Пресс
    Переплёт: мягкий
    Количество страниц: 672
    Купить: ozon.ru
    ISBN: 978-5-97060-194-5, 978-1-93398-877-1

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

  • Maurice Herlihy - The Art of Multiprocessor Programming


    Название: Maurice Herlihy - The Art of Multiprocessor Programming (97x150).jpg
Просмотров: 16796

Размер: 13.6 Кб
    Оригинальное название: The Art of Multiprocessor Programming
    Авторы: Maurice Herlihy
    Год издания: 2012
    Издательство: Morgan Kaufmann
    Язык: английский
    Переплёт: мягкий
    Количество страниц: 552
    Купить: amazon.com
    ISBN-13: 978-0123973375
    ISBN-10: 0123973376

    Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues.

2
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
04.08.2016, 16:26 10
C++ Standards: discussion
Обсуждение стандартов C++

C++ стандартизирован Международной организацией по стандартизации (ISO), последняя версия стандарта утверждена и опубликована ISO в декабре 2020 года как ISO/IEC 14882:2020 (также известный как C++20).
Язык программирования C++ был первоначально стандартизирован в 1998 году как ISO/IEC 14882:1998, в который затем были внесены поправки стандартами C++03, C++11, C++14 и C++17. Текущий стандарт C++20 дополняет их новыми функциями и расширенной стандартной библиотекой. До первоначальной стандартизации в 1998 году C++ разрабатывался Бьярне Страуструпом в Bell Labs с 1979 года как расширение языка C. Он хотел создать эффективный и гибкий язык, похожий на C, который бы также предоставлял высокоуровневые инструменты для организации программ.
С 2012 года C++ находится в трехлетнем графике выпуска - с C++23 в качестве следующего запланированного стандарта.
.
.
13
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.03.2017, 18:46 11
Coding Conventions and Programming Culture
Стандарты оформления кода и культура программирования

Стандарт оформления кода (стандарт кодирования, стиль программирования) (англ. coding standards, coding convention или programming style) — набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом, а также упрощает взаимодействие нескольких человек при разработке программного обеспечения.
(с) Keith Gabryelski, Wildfire C++ Programming Style, 1997

Стандарт оформления кода обычно принимается и используется некоторой группой разработчиков программного обеспечения для единообразного оформления совместно используемого кода. Целью принятия и использования стандарта является упрощение восприятия программного кода человеком, минимизация нагрузки на память и зрение при чтении программы. [источник]
  • Роберт Мартин - Чистый код. Создание, анализ и рефакторинг


    Название: Чистый код.jpg
Просмотров: 15853

Размер: 10.3 Кб
    Оригинальное название: Clean Code: A Handbook of Agile Software Craftsmanship
    Авторы: Роберт Мартин (Robert Martin)
    Год издания: 2016
    Издательство: Питер
    Переплёт: мягкий
    Количество страниц: 464
    Купить: ozon.ru
    ISBN: 978-5-496-00487-9, 978-0332350884

    Даже плохой программный код может работать. Однако если код не является "чистым", это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и "укрощение". Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.
    Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги - концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и "запахов кода", собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.

  • Стив Макконнелл - Совершенный код. Мастер-класс


    Название: Совершенный код.jpg
Просмотров: 15855

Размер: 9.9 Кб
    Оригинальное название: Code Complete: Second Edition
    Авторы: Стив Макконнелл (Steve McConnell)
    Год издания: 2017
    Издательство: Русская Редакция, Microsoft Press
    Переплёт: твёрдый
    Количество страниц: 896
    Купить: ozon.ru
    ISBN: 978-5-7502-0064-1

    Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.
    Книга состоит из 35 глав, предметного указателя и библиографии.

  • Герб Саттер, Андрей Александреску - Стандарты программирования на С++


    Название: Стандарты программирования.jpg
Просмотров: 15856

Размер: 9.6 Кб
    Оригинальное название: C++ Coding Standards: 101 Rules, Guidelines and Best Practices
    Авторы: Герб Саттер (Herb Sutter), Андрей Александреску (Andrei Alexandrescu)
    Год издания: 2015
    Издательство: Вильямс
    Переплёт: мягкий
    Количество страниц: 224
    Купить: ozon.ru
    ISBN: 978-5-8459-1933-5

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

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

2
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.03.2017, 21:05 12
Обсуждение темы ведётся здесь.
1
18902 / 9860 / 2410
Регистрация: 30.01.2014
Сообщений: 17,305
17.02.2018, 10:39 13
Для повторения/изучения базового языка:
  • Стенли Липпман, - "Язык программирования C++. Базовый курс".
  • Бьярне Страуструп, - "Программирование. Принципы и практика с использованием C++".

Для людей, которые переходят на C++ c другого языка программирования:
  • Эндрю Кениг, Барбара Э. Му, - "Эффективное программирование на C++. Практическое программирование на примерах".
  • Питер Готтшлинг, - "Современный C++. Для программистов, инженеров и ученых".

Для улучшения стиля, приобретения лучших практик:
  • Герб Саттер, Андрей Александреску, -"Стандарты программирования на С++".
  • Скотт Майерс, - "Эффективное использование C++. 55 верных советов улучшить структуру и код ваших программ".
  • Стивен Дьюхэрст, - "Скользкие места С++. Как избежать проблемы при проектировании и компиляции ваших программ".
  • Скотт Майерс, - "Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14".

Практические вопросы применения C++:
  • Герб Саттер, - "Решение сложных задач на С++".
  • Герб Саттер, - "Новые сложные задачи на C++".
  • Мэтью Уилсон, - "C++. Практический подход к решению проблем программирования".

Шаблоны C++:
  • Дэвид Вандевурд, Николаи М. Джосаттис, Дуглас Грегор, - "Шаблоны C++. Справочник разработчика".

Детальное описание работы IOStreams:
  • Angelika Langer, Klaus Kreft, - "Standard C++ IOStreams and Locales".

Практические вопросы применения паттернов:
  • Джон Влиссидес, - "Применение шаблонов проектирования. Дополнительные штрихи".

Паттерны:
  • Много авторов, - сборник из 5 томов "Pattern-Oriented Software Architecture".
  • Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, - "Приемы объектно-ориентированного проектирования. Паттерны проектирования".

По алгоритмам для вхождения в тему:
  • Роберт Седжвик, - "Алгоритмы на C++".

По алгоритмам:
  • Дональд Кнут, - "Искусство программирования" (тома 1-4*).
  • Томас Кормен, - "Алгоритмы. Построение и анализ".

По истории языка C++:
  • Бьярне Страуструп, - "Дизайн и эволюция C++".

По ООП:
  • Бертран Мейер, - "Объектно-ориентированное конструирование программных систем".

Для практики ООП на С++:
  • Гради Буч, - "Объектно-ориентированный анализ и проектирование с примерами приложений на С++".
  • Robert Martin, - "Designing Object Oriented C++ Applications Using The Booch Method".

Рефакторинг:
  • Мартин Фаулер, - "Рефакторинг. Улучшение существующего кода".
  • Роберт Мартин, - "Чистый код. Создание, анализ и рефакторинг".

Качество кода и архитектура:
  • Роберт Мартин, - "Гибкая разработка программ на Java и C++. Принципы, паттерны и методики".
  • Стив Макконел, - "Совершенный код".

Проектирование больших систем на С++:
  • John Lakos, - "Large-Scale C++ Software Design" (Немного устарела, но новичок в этом деле найдет много полезного).
  • John Lakos, - "Large-Scale C++ Volume I: Process and Architecture" (новая, переработанная книга, издание 2019)

Смежная тема, поддержка унаследованного (legacy) кода и проектов (лучше читать в оригинале):
  • Michael Feathers, - "Working Effectively with Legacy Code".

Многопоточность:
  • Maurice Herlihy, - "The Art of Multiprocessor Programming".

Сборники статей из С++ Report:
  • Stanley Lippman (редактор), - "C++ Gems: Programming Pearls from The C++ Report".
  • Robert Martin (редактор), - "More C++ Gems".

Вопросы внутреннего устройства C++ (чуть устарело):
  • Stanley Lippman, - "Inside the C++ Object Model".

Описание возможностей С++17:
  • Nicolai M. Josuttis, - "C++17 - The Complete Guide: First Edition".
17
17.02.2018, 10:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2018, 10:39
Помогаю со студенческими работами здесь

литература c++
Есть хорошие книги по системному программированию на c++,а так-же веб программированию на c++?

Литература.
Ув. форумчане, помогите с литературой по С. Я смотрел одноимённую тему, и по моему мнению это уже...

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

Литература по C++11
Помогите пожалуйста с литературкой по c++11, желательно с озона. А то читаю статьи и начинаю...

Литература C++
Решил всерьез изучать C++ и брать рекомендуемую литературу из темы Литература C++. Проблема в том,...

Литература С++
Всем привет ! Нужен список литературы поочередный , с чего начать не зная никакие языки и тд. ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru