Администратор
![]() 87348 / 52925 / 247
Регистрация: 10.04.2006
Сообщений: 13,687
|
|
Литература C++17.03.2008, 10:24. Показов 722790. Ответов 12
Метки нет Все метки)
(Related Links
Ссылки по теме
105
|
17.03.2008, 10:24 | |
Ответы с готовыми решениями:
12
Литература c++ Литература по C++11 и C++14 Литература |
![]() ![]() |
|
18.09.2011, 14:36 | |
Hello, World! Основы программирования и синтаксис языка В плане литературы для начинающих сложнее всего. Уровень готовности у каждого разный. Все зависит от уже имеющихся знаний читателя и его "таланта", кто-то может быть уже знаком с другими языками программирования, у кого-то хорошая база по информатике. Постарайтесь выбрать ту книгу, которая бы наиболее подходила именно Вам. Бывает, что с первых слов не нравится стиль изложения материала - это повод обратиться к другим авторам. Если некоторые моменты остались непонятыми, прочитайте соответствующие главы в других книгах, обращайтесь на форум. Не поленитесь прорешать задания из других книг, ведь навык программирования оттачивается исключительно практикой.
238
|
![]() ![]() |
|
18.09.2011, 14:36 | |
Object-oriented programming Объектно-ориентированное программирование Появление в ООП отдельного понятия класса закономерно вытекает из желания иметь множество объектов со сходным поведением. Класс в ООП - это в чистом виде абстрактный тип данных, создаваемый программистом. С этой точки зрения объекты являются значениями данного абстрактного типа, а определение класса задаёт внутреннюю структуру значений и набор операций, которые над этими значениями могут быть выполнены. Желательность иерархии классов (а значит, наследования) вытекает из требований к повторному использованию кода - если несколько классов имеют сходное поведение, нет смысла дублировать их описание, лучше выделить общую часть в общий родительский класс, а в описании самих этих классов оставить только различающиеся элементы. Необходимость совместного использования объектов разных классов, способных обрабатывать однотипные сообщения, требует поддержки полиморфизма - возможности записывать разные объекты в переменные одного и того же типа. В таких условиях объект, отправляя сообщение, может не знать в точности, к какому классу относится адресат, и одни и те же сообщения, отправленные переменным одного типа, содержащим объекты разных классов, вызовут различную реакцию. В следующих книгах рассматривается объектно-ориентированное программирование с точки зрения C++.
4
|
![]() ![]() |
|
18.09.2011, 14:36 | |
C++, Level Up! Детали Язык программирования C++ часто критикуют за сложность понимания, а также наличие потенциально опасных конструкций и возможностей. Вы уже владеете основами, все еще любите и желаете изучать C++? Следуюшие книги позволят Вам разобраться в тонкостях и избежать многих ошибок.
14
|
![]() ![]() |
|
18.09.2011, 14:36 | |
STL Стандартная Библиотека Шаблонов Стандартная библиотека шаблонов (STL) - набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++. Стандартная библиотека шаблонов существенно облегчает и ускоряет разработку. Применение высокоуровневых конструкций позволяет почти полностью забыть о кропотливой работе с памятью. Любой современный компилятор должен поддерживать возможности STL. Не стоит пренебрегать всей мощью и возможностями, которые может предложить данная библиотека.
7
|
![]() ![]() |
|
18.09.2011, 14:48 | |
Generic Programming Обобщенное программирование: Шаблоны C++ Обобщённое программирование - парадигма программирования, заключающаяся в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание. В языке C++ обобщённое программирование основывается на понятии «шаблон», обозначаемом ключевым словом template. Широко применяется в стандартной библиотеке C++ (см. STL), а также в библиотеке boost. Между тем, шаблоны C++ являются одной из наиболее сложных и труднопонимаемых концепций. Возможно, что внимательное изучение литературы, поможет Вам избежать некоторого шока при виде шаблонного кода.
151
|
![]() ![]() |
|
18.09.2011, 14:48 | |
Design patterns Шаблоны проектирования В разработке программного обеспечения, шаблон проектирования или паттерн (англ. design pattern) — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Знание шаблонов проектирования может существенно облегчить построение архитектуры приложения. Основные паттерны и их применение описаны в следующих книгах.
4
|
Модератор
![]() ![]() ![]() |
|
10.03.2015, 20:15 | |
Algorithms and Data Structures Алгоритмы и структуры данных Для чего нужно знать алгоритмы и теорию анализа, если можно выполнять работу и без этих знаний? Чтобы быть квалифицированным специалистом в своей профессии, иметь карьерный рост и уважение коллег. Чтобы эффективно решать поставленные задачи и не изобретать велосипедов. Чтобы не писать монстров с огромным количеством сторонних библиотек, которые занимают сотни мегабайт на диске от отжирают кучу памяти на сервере и регулярно падают по случайной причине в зависимости от фазы луны. Чтобы эффективно и с максимальными возможностями использовать язык, на которым вы пишете. Чтобы принимать информированные и осмысленные решения по выбору библиотеки и технологии для решения проблемы. [источник]
26
|
Модератор
![]() ![]() ![]() |
|
10.03.2015, 20:15 | |
Concurrent programming Параллельное программирование Когда-то параллельное программирование было уделом только тех одиночек, которых интересовали задачи для огромных суперкомпьютеров. Но теперь, когда на многоядерных процессорах начали работать обычные приложения, параллельное программирование стало технологией, которую должен освоить и уметь применять любой профессиональный разработчик ПО.
2
|
Почетный модератор
![]() ![]() 5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
04.08.2016, 16:26 | |
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
|
Форумчанин
![]() ![]() ![]() 8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
23.03.2017, 18:46 | |
Coding Conventions and Programming Culture Стандарты оформления кода и культура программирования Стандарт оформления кода (стандарт кодирования, стиль программирования) (англ. coding standards, coding convention или programming style) — набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом, а также упрощает взаимодействие нескольких человек при разработке программного обеспечения. (с) Keith Gabryelski, Wildfire C++ Programming Style, 1997 Стандарт оформления кода обычно принимается и используется некоторой группой разработчиков программного обеспечения для единообразного оформления совместно используемого кода. Целью принятия и использования стандарта является упрощение восприятия программного кода человеком, минимизация нагрузки на память и зрение при чтении программы. [источник]
2
|
19456 / 10069 / 2451
Регистрация: 30.01.2014
Сообщений: 17,749
|
|
17.02.2018, 10:39 | |
Для повторения/изучения базового языка:
Для людей, которые переходят на C++ c другого языка программирования:
Для улучшения стиля, приобретения лучших практик:
Практические вопросы применения C++:
Шаблоны C++:
Стандартная библиотека C++:
Детальное описание работы IOStreams:
Практические вопросы применения паттернов:
Паттерны:
По алгоритмам для вхождения в тему:
По алгоритмам:
По истории языка C++:
По ООП:
Для практики ООП на С++:
Рефакторинг:
Качество кода и архитектура:
Проектирование больших систем на С++:
Смежная тема, поддержка унаследованного (legacy) кода и проектов (лучше читать в оригинале):
Многопоточность:
Сборники статей из С++ Report:
Вопросы внутреннего устройства C++ (чуть устарело):
Описание возможностей С++17/С++20:
18
|
17.02.2018, 10:39 | |
Помогаю со студенческими работами здесь
13
Литература С++ и БД
Литература по системному, а так-же веб программированию Литература. литература по... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
|
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
|
Исследование рантаймов контейнеров Docker, containerd и rkt
Mr. Docker 11.05.2025
Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .
|
Micronaut и GraalVM - будущее микросервисов на Java?
Javaican 11.05.2025
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .
|
Инфраструктура как код на C#
stackOverflow 11.05.2025
IaC — это управление и развертывание инфраструктуры через машиночитаемые файлы определений, а не через физическую настройку оборудования или интерактивные инструменты. Представьте: все ваши серверы,. . .
|
Инъекция зависимостей в ASP.NET Core - Практический подход
UnmanagedCoder 11.05.2025
Инъекция зависимостей (Dependency Injection, DI) — это техника программирования, которая кардинально меняет подход к управлению зависимостями в приложениях. Представьте модульный дом, где каждая. . .
|
Битва за скорость: может ли Java догнать Rust и C++?
Javaican 11.05.2025
Java, с её мантрой "напиши один раз, запускай где угодно", десятилетиями остаётся в тени своих "быстрых" собратьев, когда речь заходит о сырой вычислительной мощи. Rust и C++ традиционно занимают. . .
|
Упрощение разработки облачной инфраструктуры с Golang
golander 11.05.2025
Причины популярности Go в облачной инфраструктуре просты и одновременно глубоки. Прежде всего — поразительная конкурентность, реализованная через горутины, которые дешевле традиционных потоков в. . .
|
Создание конвейеров данных ETL с помощью Pandas
AI_Generated 10.05.2025
Помню свой первый опыт работы с большим датасетом — это была катастрофа из неотформатированных CSV-файлов, странных значений NULL и дубликатов, от которых ехала крыша. Тогда я потратил три дня на. . .
|
C++ и OpenCV - Гайд по продвинутому компьютерному зрению
bytestream 10.05.2025
Компьютерное зрение — одна из тех технологий, которые буквально меняют мир на наших глазах. Если оглянуться на несколько лет назад, то сложно представить, что алгоритмы смогут не просто распознавать. . .
|