В программе лояльности
На товар применяется персональная скидка, промокоды, купоны и сертификаты

C++ для профи

Лоспинозо Джош

Код товара: 4427108
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 9
PDF
Нет в наличии
Доставим в
г. Москва
Курьером
Л-Пост
бесплатно от 3 500 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
C++ crash course
Год издания:
2021 г.
Может быть отгружен товар указанного или более позднего года
Переводчик:

Описание

Характеристики

С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться.
«C++ для профи» адресован программистам среднего и продвинутого уровней, вы продеретесь сквозь тернии к самому ядру С++. Часть 1 охватывает основы языка С++ — от типов и функций до жизненного цикла объектов и выражений. В части II представлена стандартная библиотека C ++ и библиотеки Boost. Вы узнаете о специальных вспомогательных классах, структурах данных и алгоритмах, а также о том, как управлять файловыми системами и создавать высокопроизводительные программы, которые обмениваются данными по сети.
количество томов
1
количество страниц
816 стр.
переплет
Мягкая обложка
размеры
235x165x35 мм
цвет
Жёлтый
тип бумаги
офсетная (60-220 г/м2)
формат
70x100/16 (170x240 мм)
ISBN
978-5-4461-1730-7
стандарт
возрастная категория
16+
вес
код в Майшоп
4427108
язык
русский

Содержание

Об авторе
О научном редакторе
Предисловие
Благодарности
От издательства
Введение
Об этой книге
Кому будет интересна эта книга?
Структура книги
Часть I. Основы языка C++
Часть II. Библиотеки и фреймворки С++
Увертюра для С-программистов
Обновление до Super C
Перегрузка функций
Ссылки
Инициализация с помощью auto
Пространства имен и неявный typedef для struct,
union и enum
Смешение объектных файлов C и C++
Темы С++
Краткое изложение идей и повторное
использование кода
Стандартная библиотека С++
Лямбда-выражения
Обобщенное программирование с помощью
шаблонов
Инварианты классов и управление ресурсами
Семантика перемещения
Расслабьтесь и получайте удовольствие
Часть 1. Основы языка C+ +
Глава 1. Создаем и запускаем
Структура базовой программы на C++
Создание первого исходного файла на C++
Метод main: точка запуска программы
Библиотеки: добавление внешнего кода
Цепочка инструментов компилятора
Настройка среды разработки
Windows 10 и выше: Visual Studio
macOS: Xcode
Linux и GCC
Установка GCC и Clang в Debian
Установка GCC из источника
Текстовые редакторы
Инициализация С++
Система типов С++
Объявление переменных
Инициализация состояния переменной
Условные выражения
Функции
Спецификаторы формата printf
Пересмотр step_function
Комментарии
Отладка
Visual Studio
Xcode
Отладка GCC и Clang с помощью GDB и LLDB
Итоги
Упражнения
Что еще почитать?
Глава 2. Типы
Основные типы
Целочисленные типы
Типы с плавающей точкой
Символьные типы
Логические типы
Тип std::byte
Тип size_t
void
Массивы
Инициализация массива
Доступ к элементам массива
Экскурсия по циклу for
Строки в стиле С
Пользовательские типы
Типы перечислений
Простые классы
Объединения
Полнофункциональные классы в C++
Методы
Контроль доступа
Конструкторы
Инициализация
Деструктор
Итоги
Упражнения
Что еще почитать?
Глава 3. Ссылочные типы
Указатели
Обращение к переменным
Разыменование указателей
Оператор "стрелка"
Указатели и массивы
Опасность указателей
Указатели void и std::byte
nullptr и логические выражения
Ссылки
Использование указателей и ссылок
Связные списки: каноническая структура данных
на основе указателей
Использование ссылок
Указатели this
Правильное использование const
Переменные-члены const
Списки инициализаторов членов
Вывод типов с помощью auto
Инициализация с помощью auto
auto и ссылочные типы
auto и рефакторинг кода
Итоги
Упражнения
Что еще почитать?
Глава 4. Жизненный цикл объекта
Длительность хранения объекта
Выделение, освобождение и срок службы
Управление памятью
Автоматическая длительность хранения
Статическая длительность хранения
Локальная потоковая длительность хранения
Динамическая длительность хранения
Отслеживание жизненного цикла объекта
Исключения
Ключевое слово throw
Использование блоков try-catch
Классы исключений stdlib
Обработка исключений
Пользовательские исключения
Ключевое слово noexcept
Исключения и стеки вызовов
Класс SimpleString
Добавление и вывод
Использование SimpleString
Составление SimpleString
Размотка стека вызовов
Исключения и производительность
Альтернативы для исключений
Семантика копирования
Конструкторы копирования
Присваивание копии
Копирование по умолчанию
Руководство по копированию
Семантика перемещения
Копирование может быть расточительным
Категории значений
Ссылки на l-значения и r-значения
Функция std::move
Конструктор переноса
Присваивание перемещения
Конечный продукт
Методы,генерируемые компилятором
Итоги
Упражнения
Что еще почитать?
Глава 5. Полиморфизм во время выполнения
Полиморфизм
Пример для мотивации
Добавление новых регистраторов
Интерфейсы
Композиция объектов и реализация наследования
Определение интерфейсов
Базовое наследование классов
Наследование членов
Методы virtual
Чисто виртуальные классы и виртуальные
деструкторы
Реализация интерфейсов
Использование интерфейсов
Обновление банкового регистратора
Внедрение через конструктор
Внедрение через свойство
Выбор между внедрением через конструктор или
свойство
Итоги
Упражнения
Что еще почитать?
Глава 6. Полиморфизм во время компиляции
Шаблоны
Объявление шаблонов
Определения класса шаблона
Определения функции шаблона
Создание экземпляров шаблонов
Именованные функции преобразования
const_cast
static_cast
reinterpret_cast
narrow_cast
mean: пример функции шаблона
Обобщение mean
Вывод типа шаблона
SimpleUniquePointer: пример класса шаблона
Проверка типов в шаблонах
Концепты
Определение концепта
Типажи типа
Требования
Создание концепта из выражений требования
Использование концептов
Специальные выражения требований
static_assert: полумеры до концептов
Нетиповые параметры шаблона
Вариативные шаблоны
Продвинутое использование шаблонов
Специализация шаблона
Связка имен
Функция типа
Метапрограммирование шаблонов
Организация исходного кода шаблона
Полиморфизм во время выполнения и компиляции
Итоги
Упражнения
Что еще почитать?
Глава 7. Выражения
Операторы
Логические операторы
Арифметические операторы
Операторы присваивания
Операторы увеличения и уменьшения
Операторы сравнения
Операторы доступа к членам
Тернарные условные операторы
Оператор запятой
Перегрузка операторов
Оператор перегрузки new
Приоритет операторов и ассоциативность
Порядок вычисления
Пользовательские литералы
Преобразования типов
Неявные преобразования типов
Явное преобразование типов
Приведения в стиле С
Пользовательские приведения типов
Постоянные выражения
Красочный пример
Использование constexpr
Изменчивые выражения
Итоги
Упражнения
Что еще почитать?
Глава 8. Инструкции
Инструкции-выражения
Составные операторы
Операторы объявлений
Функции
Пространства имен
Совмещение имен типов
Структурированные привязки
Атрибуты
Операторы выбора
Оператор if
Операторы switch
Операторы перебора
Циклы while
Циклы do-while
Циклы for
Циклы for на основе диапазонов
Инструкции перехода
Операторы break
Инструкции continue
Инструкции goto
Итоги
Упражнения
Что еще почитать?
Глава 9. Функции
Объявления функций
Префиксные модификаторы
Суффиксные модификаторы
Возвращаемые типы auto
auto и шаблоны функций
Разрешение перегрузки
Вариативные функции
Вариативные шаблоны
Программирование с помощью блоков параметров
Пересмотр функции sum
Выражения свертки
Указатели функций
Объявление указателя функции
Совмещение имен типов и указатели функций
Оператор вызова функции
Пример подсчета
Лямбда-выражения
Использование
Тела и параметры лямбда-выражений
Параметры по умолчанию
Обобщенные лямбда-выражения
Возвращаемые типы лямбда-выражений
Захват лямбда-выражений
Лямбда-выражения с constexpr
std::function
Объявление функции
Пустые функции
Расширенный пример
Функция main и командная строка
Три перегрузки main
Изучение параметров программ
Еще больше примеров
Статус выхода
Итоги
Упражнения
Что еще почитать?
Часть 2. Библиотеки и фреймворки C+ +
Глава 10. Тестирование
Юнит-тестирование
Интеграционное тестирование
Приемочное тестирование
Тестирование производительности
Расширенный пример: AutoBrake
Реализация AutoBrake
Разработка через тестирование
Добавление интерфейса Service-Bus
Фреймворки юнит-тестирования и имитации
Google Test
Boost Test
Итоги: фреймворки тестирования
Фреймворки имитации
Google Mock
HippoMocks
Несколько слов о других вариантах имитации:
FakeIt и Trompeloeil
Итоги
Упражнения
Что еще почитать?
Глава 11. Умные указатели
Умные указатели
Владение умными указателями
Ограниченные указатели
Создание
Добавление OathBreakers
Явное приведение логических типов на основе
владения
Обертка RAII
Семантика указателей
Сравнение с nullptr
Обмен
Сброс и замена scoped_ptr
Непереносимость
boost::scoped_array
Неполный список поддерживаемых операций
Уникальные указатели
Создание
Поддерживаемые операции
Переносимое и исключительное владение
Уникальные массивы
Удалители
Пользовательские удалители и системное
программирование
Неполный список поддерживаемых операций
Общие указатели
Создание
Определение распределителя
Поддерживаемые операции
Переносимое и неисключительное владение
Общие массивы
Удалители
Неполный список поддерживаемых операций
Слабые указатели
Создание
Получение временного владения
Продвинутые шаблоны
Поддерживаемые операции
Навязчивые указатели
Обзор вариантов умных указателей
Распределители
Итоги
Упражнения
Что еще почитать?
Глава 12. Утилиты
Структуры данных
tribool
optional
pair
tuple
any
variant
Дата и время
DateTime в Boost
Chrono
Числовые данные
Числовые функции
Комплексные числа
Математические постоянные
Случайные числа
Числовые ограничения
Numeric Conversion в Boost
Рациональная арифметика во время компиляции
Итоги
Упражнения
Что еще почитать?
Глава 13. Контейнеры
Контейнеры последовательностей
Массивы
Векторы
Узкоспециализированные контейнеры
последовательности
Ассоциативные контейнеры
Множества
Неупорядоченные множества
Ассоциативные массивы
Специализированные ассоциативные контейнеры
Графы и деревья свойств
Библиотека Boost Graph
Деревья свойств в Boost
Списки инициализаторов
Итоги
Упражнения
Что еще почитать?
Глава 14. Итераторы
Категории итераторов
Итераторы вывода
Итераторы ввода
Однонаправленные итераторы
Двунаправленные итераторы
Итераторы с произвольным доступом
Непрерывные итераторы
Изменяемые итераторы
Вспомогательные функции итераторов
std::advance
std::next и std::prev
std::distance
std::iter_swap
Дополнительные итераторные адаптеры
Итераторные адаптеры переноса
Обратные итераторные адаптеры
Итоги
Упражнения
Что еще почитать?
Глава 15. Строки
std::string
Создание
Хранение строк и оптимизация небольших строк
Поэлементный и итераторный доступ
Сравнение строк
Управление элементами
Поиск
Числовые преобразования
Строковое представление
Создание
Поддерживаемые операции string_view
Владение, использование и эффективность
Регулярные выражения
Шаблоны
basic_regex
Алгоритмы
Библиотека Boost String Algorithms
Boost Range
Предикаты
Классификаторы
Искатели
Алгоритмы изменения
Разделение и соединение
Поиск
Boost Tokenizer
Локализация
Итоги
Упражнения
Что еще почитать?
Глава 16. Потоки
Потоки
Классы потоков
Состояние потока
Буферизация и сброс
Манипуляторы
Пользовательские типы
Строковые потоки
Файловые потоки
Буферы потоков
Произвольный доступ
Итоги
Упражнения
Что еще почитать?
Глава 17. Файловые системы
Концепты файловых систем
std::filesystem::path
Создание path
Декомпозиция path
Изменение path
Обзор методов path файловой системы
Файлы и каталоги
Обработка ошибок
Функции композиции path
Просмотр типов файлов
Просмотр файлов и каталогов
Управление файлами и каталогами
Итераторы каталогов
Создание
Записи каталогов
Рекурсивный перебор каталога
Взаимосовместимость в fstream
Итоги
Упражнения
Что еще почитать?
Глава 18. Алгоритмы
Сложность алгоритмов
Политика выполнения
Операции, не изменяющие последовательность
all_of
any_of
none_of
for_each
for_each_n
find, find_if и find_if_not
find_end
find_first_of
adjacent_find
count
mismatch
equal
is_permutation
search
search_n
Операции, изменяющие последовательность
copy
copy_n
copy_backward
move
move_backward
swap_ranges
transform
replace
fill
generate
remove
unique
reverse
sample
shuffle
Сортировка и связанные операции
sort
stable_sort
partial_sort
is_sorted
nth_element
Бинарный поиск
lower_bound
upper_bound
equal_range
binary_search
Алгоритмы разбиения
is_partitioned
partition
partition_copy
stable_partition
Алгоритмы слияния
merge
Алгоритмы предельных значений
min и max
min_element и max_element
clamp
Числовые операции
Полезные операторы
iota
accumulate
reduce
inner_product
adjacent_difference
partial_sum
Другие алгоритмы
Boost Algorithm
Что еще почитать?
Глава 19. Конкурентность и параллелизм
Конкурентное программирование
Асинхронные задачи
Совместное использование и координирование
Низкоуровневые средства конкурентного
программирования
Параллельные алгоритмы
Пример: параллельная сортировка
Параллельные алгоритмы - это не магия
Итоги
Упражнения
Что еще почитать?
Глава 20. Сетевое программирование с помощью
Boost Asio
Модель программирования Boost Asio
Сетевое программирование с помощью Asio
Модуль интернет-протокола
Разрешение имени хост-системы
Соединение
Буферы
Чтение и запись данных с помощью буферов
Протокол передачи гипертекста (HTTP)
Реализация простого HTTP-клиента в Boost Asio
Асинхронные чтение и запись
Создание сервера
Конкурентный режим в Boost Asio
Итоги
Упражнения
Что еще почитать?
Глава 21. Создание приложений
Поддержка программ
Обработка завершения программы и очистка
Коммуникация с окружающей средой
Управление сигналами операционной системы
ProgramOptions в Boost
Описание опций
Разбор опций
Совместное использование опций и доступ к ним
Соединяем все вместе
Отдельные моменты компиляции
Пересмотр препроцессора
Оптимизация компилятора
Связь с С
Итоги
Упражнения
Что еще почитать?

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «C++ для профи» (авторы: Лоспинозо Джош), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта