Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 637335)
Контекстум
Электро-2024

Разработка приложений на C++ с использованием Boost. Рецепты, упрощающие разработку вашего приложения (5000,00 руб.)

0   0
Первый авторПолухин
ИздательствоМ.: ДМК Пресс
Страниц348
ID795269
АннотацияЭто руководство знакомит читателя с библиотеками Boost, которые помогают разрабатывать качественные, быстрые и портативные приложения. Удобная структура книги, включающая ряд стандартных разделов, упрощает изучение материала. От простых тем (повседневное использование библиотек, управление ресурсами) автор последовательно переходит к сложным (метапрограммирование, многопоточность, межпроцессное взаимодействие, асинхронное взаимодействие, работа с большими библиотеками Boost). Издание предназначено для разработчиков, желающих улучшить свои знания в области Boost и упростить процессы разработки приложений. Для освоения изложенных в книге приемов необходимы знакомство с C++ и базовые знания стандартной библиотеки. Также понадобятся современный компилятор C++, библиотеки Boost (подойдет любая версия, но рекомендуется 1.65 или более новая), среда разработки QtCreator, утилита qmake. Есть возможность модифицировать и запускать примеры онлайн: apolukhin.github.io/Boost-Cookbook/.
ISBN978-5-97060-868-5
УДК4.4
ББК32.973.202
Полухин, А. Разработка приложений на C++ с использованием Boost. Рецепты, упрощающие разработку вашего приложения / А. Полухин .— Москва : ДМК Пресс, 2020 .— 348 с. — ISBN 978-5-97060-868-5 .— URL: https://rucont.ru/efd/795269 (дата обращения: 01.06.2024)

Предпросмотр (выдержки из произведения)

Разработка_приложений_на_C++_с_использованием_Boost._Рецепты,_упрощающие_разработку_вашего_приложения.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Стр.15
Стр.16
Стр.17
Стр.18
Стр.19
Стр.20
Разработка_приложений_на_C++_с_использованием_Boost._Рецепты,_упрощающие_разработку_вашего_приложения.pdf
УДК 004.4 ББК 32.973.202 П49 П49 Разработка приложений на C++ с использованием Boost. Рецепты, упрощающие разработку вашего приложения / пер. с анг. Д. А. Беликова. – М.: ДМК Пресс, 2020. – 346 с.: ил. Антон Полухин ISBN 978-5-97060-868-5 Это руководство знакомит читателя с библиотеками Boost, которые помогают разрабатывать качественные, быстрые и портативные приложения. Удобная структура книги, включающая ряд стандартных разделов, упрощает изучение материала. От простых тем (повседневное использование библиотек, управление ресурсами) автор последовательно переходит к сложным (метапрограммирование, многопоточность, межпроцессное взаимодействие, асинхронное взаимодействие, работа с большими библиотеками Boost). Издание предназначено для разработчиков, желающих улучшить свои знания в области Boost и упростить процессы разработки приложений. Для освоения изложенных в книге приемов необходимы знакомство с C++ и базовые знания стандартной библиотеки. Также понадобятся современный компилятор C++, библиотеки Boost (подойдет любая версия, но рекомендуется 1.65 или более новая), среда разработки QtCreator, утилита qmake. Есть возможность модифицировать и запускать примеры онлайн: http://apolukhin.github.io/Boost-Cookbook/. УДК 004.4 ББК 32.973.202 All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN (анг.) 978-1-78728-224-7 ISBN (рус.) 978-5-97060-868-5 © 2017 Packt Publishing © Оформление, издание, перевод, ДМК Пресс, 2020
Стр.5
Оглавление Предисловие от издательства ...................................................................20 Об авторе ...........................................................................................................21 О рецензентах .................................................................................................22 Вступительное слово автора .....................................................................23 Вступительное слово от сообщества С++ .............................................24 Предисловие .............................................................................................. 25 Глава 1. Приступаем к написанию приложения .................................29 Вступление ............................................................................................................29 Получение параметров конфигурации ...............................................................30 Подготовка ........................................................................................................30 Как это делается… .............................................................................................30 Как это работает................................................................................................31 Дополнительно... ..............................................................................................31 См. также ...........................................................................................................33 Сохранение любого значения в контейнере или переменной ..........................33 Подготовка ........................................................................................................34 Как это делается... .............................................................................................34 Как это работает................................................................................................34 Дополнительно... ..............................................................................................35 См. также ...........................................................................................................36 Хранение одного из нескольких выбранных типов в контейнере или переменной....................................................................................................36 Подготовка… .....................................................................................................36 Как это делается… .............................................................................................36 Как это работает................................................................................................37 Дополнительно... ..............................................................................................37 См. также ...........................................................................................................38 Использование более безопасного способа работы с контейнером, в котором хранится один из нескольких выбранных типов .............................38 Подготовка ........................................................................................................40 Как это делается... .............................................................................................40 Как это работает................................................................................................41 Дополнительно... ..............................................................................................41 См. также ...........................................................................................................42
Стр.6
6  Оглавление Возврат значения или флага «значения нет» .....................................................42 Подготовка ........................................................................................................42 Как это делается... .............................................................................................42 Как это работает….............................................................................................43 Дополнительно… ..............................................................................................44 См. также ...........................................................................................................44 Возвращение массива из функции ......................................................................44 Подготовка ........................................................................................................44 Как это делается… .............................................................................................44 Как это работает….............................................................................................45 Дополнительно… ..............................................................................................45 См. также ...........................................................................................................46 Объединение нескольких значений в одно ........................................................46 Подготовка ........................................................................................................46 Как это делается… .............................................................................................46 Как это работает….............................................................................................48 Дополнительно… ..............................................................................................48 См. также ...........................................................................................................48 Привязка и переупорядочение параметров функции .......................................49 Подготовка ........................................................................................................49 Как это делается... .............................................................................................49 Как это работает….............................................................................................50 Дополнительно… ..............................................................................................51 См. также ...........................................................................................................52 Получение удобочитаемого имени типа ............................................................52 Подготовка ........................................................................................................52 Как это делается… .............................................................................................52 Как это работает….............................................................................................53 Дополнительно… ..............................................................................................53 См. также ...........................................................................................................54 Использование эмуляции перемещения C++11 .................................................54 Подготовка ........................................................................................................54 Как это делается… .............................................................................................54 Как это работает….............................................................................................56 Дополнительно… ..............................................................................................56 См. также ...........................................................................................................56 Создание некопируемого класса .........................................................................57 Подготовка ........................................................................................................57 Как это делается… .............................................................................................57 Как это работает….............................................................................................58 См. также ...........................................................................................................58 Создание некопируемого, но перемещаемого класса .......................................58 Подготовка ........................................................................................................59 Как это делается… .............................................................................................59 Как это работает….............................................................................................61 Дополнительно… ..............................................................................................61 См. также ...........................................................................................................62
Стр.7
Оглавление  7 Использование алгоритмов C++14 и C++11 ........................................................62 Подготовка ........................................................................................................62 Как это делается… .............................................................................................63 Как это работает….............................................................................................63 Дополнительно… ..............................................................................................63 См. также ...........................................................................................................64 Глава 2. Управление ресурсами ................................................................65 Вступление ............................................................................................................65 Управление указателями на классы, которые не покидают область видимости ...............................................................................................65 Подготовка ........................................................................................................66 Как это делается… .............................................................................................66 Как это работает….............................................................................................67 Дополнительно… ..............................................................................................68 См. также ...........................................................................................................69 Подсчет указателей на классы .............................................................................69 Подготовка ........................................................................................................69 Как это делается… .............................................................................................70 Как это работает….............................................................................................70 Дополнительно… ..............................................................................................71 См. также ...........................................................................................................72 Управление указателями на массивы, которые не покидают область видимости ...............................................................................................72 Подготовка ........................................................................................................72 Как это делается… .............................................................................................73 Как это работает….............................................................................................73 Дополнительно… ..............................................................................................73 См. также ...........................................................................................................74 Подсчет указателей на массивы ..........................................................................74 Подготовка ........................................................................................................75 Как это делается… .............................................................................................75 Как это работает….............................................................................................77 Дополнительно… ..............................................................................................77 См. также ...........................................................................................................77 Хранение любых функциональных объектов в переменной ............................78 Подготовка ........................................................................................................78 Как это делается… .............................................................................................78 Как это работает….............................................................................................79 Дополнительно… ..............................................................................................79 См. также ...........................................................................................................80 Передача указателя на функцию .........................................................................80 Подготовка ........................................................................................................80 Как это делается… .............................................................................................80 Как это работает….............................................................................................80 Дополнительно… ..............................................................................................80 См. также ...........................................................................................................81
Стр.8
8  Оглавление Хранение любых лямбда-функций C++11 в переменной ..................................81 Подготовка ........................................................................................................81 Как это делается… .............................................................................................81 Дополнительно… ..............................................................................................81 См.также ............................................................................................................82 Контейнеры указателей .......................................................................................82 Подготовка ........................................................................................................84 Как это делается… .............................................................................................84 Как это работает….............................................................................................84 Дополнительно… ..............................................................................................84 См. также ...........................................................................................................85 Делайте это при выходе из области видимости! ................................................86 Подготовка ........................................................................................................86 Как это делается… .............................................................................................86 Как это работает….............................................................................................87 Дополнительно… ..............................................................................................87 См. также ...........................................................................................................88 Инициализация базового класса членом класса-наследника ...........................88 Подготовка ........................................................................................................89 Как это делается… .............................................................................................89 Как это работает….............................................................................................89 Дополнительно… ..............................................................................................90 См. также ...........................................................................................................90 Глава 3. Преобразование и приведение ...............................................91 Вступление ............................................................................................................91 Преобразование строк в числа ............................................................................91 Подготовка ........................................................................................................92 Как это делается… .............................................................................................92 Как это работает….............................................................................................92 Дополнительно… ..............................................................................................93 См. также ...........................................................................................................94 Преобразование чисел в строки ..........................................................................94 Подготовка ........................................................................................................94 Как это делается… .............................................................................................94 Как это работает….............................................................................................95 Дополнительно… ..............................................................................................95 См. также ...........................................................................................................96 Преобразование чисел в числа ............................................................................96 Подготовка ........................................................................................................97 Как это делается… .............................................................................................97 Как это работает….............................................................................................98 Дополнительно… ..............................................................................................98 См. также ...........................................................................................................99 Преобразование пользовательских типов в строки и из строк .........................99 Как это делается… .............................................................................................99 Дополнительно… ............................................................................................101 См. также .........................................................................................................101
Стр.9
Оглавление  9 Приведение умных указателей ..........................................................................102 Подготовка ......................................................................................................102 Как это делается… ...........................................................................................102 Как это работает…...........................................................................................103 Дополнительно… ............................................................................................103 См. также .........................................................................................................103 Приведение полиморфных объектов ................................................................103 Подготовка ......................................................................................................104 Как это делается… ...........................................................................................104 Как это работает…...........................................................................................104 Дополнительно… ............................................................................................104 См. также .........................................................................................................105 Синтаксический анализ (parsing) простого ввода ............................................105 Подготовка ......................................................................................................106 Как это делается… ...........................................................................................106 Как это работает…...........................................................................................107 Дополнительно… ............................................................................................108 См. также .........................................................................................................110 Синтаксический анализ (parsing) сложного ввода ...........................................110 Подготовка ......................................................................................................110 Как это делается… ...........................................................................................110 Как это работает…. .........................................................................................113 Дополнительно… ............................................................................................114 См. также .........................................................................................................114 Глава 4. Уловки времени компиляции .................................................115 Вступление ..........................................................................................................115 Проверка размеров во время компиляции .......................................................115 Подготовка ......................................................................................................116 Как это делается… ...........................................................................................116 Как это работает…...........................................................................................116 Дополнительно… ............................................................................................118 См. также .........................................................................................................119 Активация использования шаблона функции для интегральных типов .......120 Подготовка ......................................................................................................120 Как это делается… ...........................................................................................120 Как это работает…...........................................................................................121 Дополнительно… ............................................................................................122 См. также .........................................................................................................123 Отключение использования шаблона функции для действительных типов ....123 Подготовка ......................................................................................................124 Как это делается… ...........................................................................................124 Как это работает…...........................................................................................124 Дополнительно… ............................................................................................125 См. также .........................................................................................................125 Создание типа из числа ......................................................................................125 Подготовка ......................................................................................................126
Стр.10
10  Оглавление Как это делается… ...........................................................................................126 Как это работает…...........................................................................................127 Дополнительно… ............................................................................................127 См. также .........................................................................................................128 Реализация свойства типов (type trait) .............................................................128 Подготовка ......................................................................................................128 Как это делается… ...........................................................................................128 Как это работает…...........................................................................................128 Дополнительно… ............................................................................................129 См. также .........................................................................................................129 Выбор оптимального оператора для параметра шаблона ...............................129 Подготовка ......................................................................................................130 Как это делается... ...........................................................................................130 Как это работает…...........................................................................................131 Дополнительно… ............................................................................................131 См. также .........................................................................................................133 Получение типа выражения в C++03 .................................................................133 Подготовка ......................................................................................................133 Как это делается… ...........................................................................................133 Как это работает…...........................................................................................134 Дополнительно… ............................................................................................134 См. также .........................................................................................................135 Глава 5. Многопоточность .........................................................................137 Вступление ..........................................................................................................137 Создание потока выполнения ...........................................................................137 Подготовка ......................................................................................................138 Как это делается… ...........................................................................................138 Как это работает…...........................................................................................138 Дополнительно… ............................................................................................139 См. также .........................................................................................................141 Синхронизация доступа к общему ресурсу ......................................................141 Подготовка ......................................................................................................142 Как это делается… ...........................................................................................142 Как это работает…...........................................................................................143 Дополнительно… ............................................................................................144 См. также .........................................................................................................145 Быстрый доступ к общему ресурсу с использованием атомарных операций .........................................................................................145 Подготовка ......................................................................................................145 Как это делается... ...........................................................................................146 Как это работает..............................................................................................146 Дополнительно… ............................................................................................147 См. также .........................................................................................................148 Создание класса work_queue ..............................................................................148 Подготовка ......................................................................................................148 Как это делается… ...........................................................................................148
Стр.11
Оглавление  11 Как это работает…...........................................................................................150 Дополнительно… ............................................................................................151 См. также .........................................................................................................152 Блокировка «Несколько читателей – один писатель» ......................................152 Подготовка ......................................................................................................153 Как это делается… ...........................................................................................154 Как это работает…...........................................................................................154 Дополнительно… ............................................................................................155 См. также .........................................................................................................155 Создание переменных, уникальных для каждого потока ...............................155 Подготовка ......................................................................................................156 Как это делается… ...........................................................................................156 Как это работает…...........................................................................................157 Дополнительно… ............................................................................................157 См. также .........................................................................................................157 Прерывание потока ............................................................................................157 Подготовка ......................................................................................................158 Как это делается… ...........................................................................................158 Как это работает…...........................................................................................158 Дополнительно… ............................................................................................159 См. также .........................................................................................................159 Манипулирование группой потоков .................................................................159 Подготовка ......................................................................................................160 Как это делается… ...........................................................................................160 Как это работает…...........................................................................................160 Дополнительно… ............................................................................................160 См. также .........................................................................................................161 Безопасная инициализация общей переменной .............................................161 Подготовка ......................................................................................................162 Как это делается… ...........................................................................................162 Как это работает…...........................................................................................163 Дополнительно… ............................................................................................163 См. также .........................................................................................................164 Захват нескольких мьютексов ...........................................................................164 Подготовка ......................................................................................................165 Как это делается… ...........................................................................................165 Как это работает…...........................................................................................165 Дополнительно… ............................................................................................166 См. также .........................................................................................................166 Глава 6. Манипулирование задачами ..................................................167 Вступление ..........................................................................................................167 Прежде чем вы начнете ......................................................................................167 Регистрация задачи для обработки произвольного типа данных ..................168 Подготовка ......................................................................................................168 Как это делается… ...........................................................................................168
Стр.12
12  Оглавление Как это работает…...........................................................................................170 Дополнительно… ............................................................................................171 См. также .........................................................................................................171 Создание таймеров и обработка событий таймера в качестве задач .............172 Подготовка ......................................................................................................172 Как это делается… ...........................................................................................172 Как это работает…...........................................................................................174 Дополнительно… ............................................................................................175 См. также .........................................................................................................176 Передача данных по сети в качестве задачи ....................................................176 Подготовка ......................................................................................................176 Как это делается… ...........................................................................................176 Как это работает…...........................................................................................180 Дополнительно… ............................................................................................183 См. также .........................................................................................................184 Прием входящих соединений ............................................................................184 Подготовка ......................................................................................................184 Как это делается… ...........................................................................................184 Как это работает…...........................................................................................186 Дополнительно… ............................................................................................187 См. также .........................................................................................................188 Параллельное выполнение различных задач ...................................................188 Приступаем… ..................................................................................................188 Как это делается… ...........................................................................................188 Как это работает…...........................................................................................189 Дополнительно… ............................................................................................190 См. также .........................................................................................................190 Конвейерная обработка задач ...........................................................................190 Подготовка ......................................................................................................191 Как это делается… ...........................................................................................191 Как это работает…...........................................................................................193 Дополнительно… ............................................................................................194 См. также .........................................................................................................194 Создание неблокирующего барьера ..................................................................194 Подготовка ......................................................................................................196 Как это делается… ...........................................................................................196 Как это работает…...........................................................................................197 Дополнительно… ............................................................................................197 См. также .........................................................................................................198 Хранение исключения и создание задачи из него ...........................................198 Подготовка ......................................................................................................198 Как это делается… ...........................................................................................198 Как это работает…...........................................................................................200 Дополнительно… ............................................................................................200 См. также .........................................................................................................201 Получение и обработка системных сигналов в качестве задач ......................201 Подготовка ......................................................................................................202
Стр.13
Оглавление  13 Как это делается… ...........................................................................................202 Как это работает…...........................................................................................203 Дополнительно…. ...............................................................................................204 См. также .........................................................................................................204 Глава 7. Манипулирование строками ...................................................205 Вступление ..........................................................................................................205 Смена регистра символов и сравнение без учета регистра .............................205 Подготовка ......................................................................................................205 Как это делается… ...........................................................................................206 Как это работает…...........................................................................................207 Дополнительно… ............................................................................................207 См. также .........................................................................................................207 Сопоставление строк с использованием регулярных выражений ..................207 Приступим ......................................................................................................208 Как это делается… ...........................................................................................208 Как это работает…...........................................................................................210 Дополнительно… ............................................................................................210 См. также .........................................................................................................211 Поиск и замена строк с использованием регулярных выражений .................211 Подготовка ......................................................................................................212 Как это делается… ...........................................................................................212 Как это работает…...........................................................................................213 Дополнительно… ............................................................................................213 См. также .........................................................................................................213 Форматирование строк с использованием безопасных printf-подобных функций ..................................................................................214 Подготовка ......................................................................................................214 Как это делается… ...........................................................................................214 Как это работает…...........................................................................................215 Дополнительно… ............................................................................................215 См. также .........................................................................................................216 Замена и стирание строк ....................................................................................216 Подготовка ......................................................................................................216 Как это делается… ...........................................................................................216 Как это работает…...........................................................................................217 Дополнительно… ............................................................................................217 См. также .........................................................................................................218 Представление строки двумя итераторами ......................................................218 Подготовка ......................................................................................................218 Как это делается… ...........................................................................................218 Как это работает…...........................................................................................219 Дополнительно… ............................................................................................220 См. также .........................................................................................................220 Использование типа «ссылка на строку» ..........................................................221 Подготовка ......................................................................................................221 Как это делается… ...........................................................................................221
Стр.14
14  Оглавление Как это работает…...........................................................................................222 Дополнительно… ............................................................................................224 См. также .........................................................................................................224 Глава 8. Метапрограммирование ..........................................................225 Вступление ..........................................................................................................225 Использование типа «вектор типов» .................................................................225 Подготовка ......................................................................................................226 Как это делается… ...........................................................................................226 Как это работает…...........................................................................................228 Дополнительно… ............................................................................................229 См. также .........................................................................................................229 Манипулирование вектором типов ...................................................................230 Подготовка ......................................................................................................230 Как это делается… ...........................................................................................230 Как это работает…...........................................................................................232 Дополнительно… ............................................................................................233 См. также .........................................................................................................234 Получение результирующего типа функции во время компиляции ..............234 Подготовка ......................................................................................................235 Как это делается… ...........................................................................................235 Как это работает…...........................................................................................236 Дополнительно… ............................................................................................236 См. также .........................................................................................................236 Создание метафункции высшего порядка .......................................................236 Подготовка ......................................................................................................237 Как это делается… ...........................................................................................237 Как это работает…...........................................................................................238 Дополнительно… ............................................................................................238 См. также .........................................................................................................239 Ленивое вычисление метафункции ..................................................................239 Подготовка ......................................................................................................239 Как это делается… ...........................................................................................239 Как это работает…...........................................................................................240 Дополнительно… ............................................................................................242 См. также .........................................................................................................242 Преобразование всех элементов кортежа в строки .........................................242 Подготовка ......................................................................................................242 Как это делается… ...........................................................................................242 Как это работает…...........................................................................................244 Дополнительно… ............................................................................................244 См. также .........................................................................................................246 Расщепление кортежей ......................................................................................246 Подготовка ......................................................................................................246 Как это делается… ...........................................................................................246 Как это работает…...........................................................................................247
Стр.15
Оглавление  15 Дополнительно… ............................................................................................248 См. также .........................................................................................................249 Манипулирование гетерогенными контейнерами в C++14 ............................249 Подготовка ......................................................................................................249 Как это делается… ...........................................................................................249 Как это работает…...........................................................................................250 Дополнительно… ............................................................................................251 См. также .........................................................................................................252 Глава 9. Контейнеры....................................................................................253 Вступление ..........................................................................................................253 Хранение нескольких элементов в контейнере ...............................................253 Подготовка ......................................................................................................254 Как это делается… ...........................................................................................254 Как это работает…...........................................................................................255 Дополнительно… ............................................................................................255 См. также .........................................................................................................256 Хранение не более N элементов в контейнере.................................................256 Подготовка ......................................................................................................256 Как это делается… ...........................................................................................256 Как это работает…...........................................................................................256 Дополнительно… ............................................................................................257 См. также .........................................................................................................258 Сверхбыстрое сравнение строк .........................................................................258 Подготовка ......................................................................................................259 Как это делается… ...........................................................................................259 Как это работает…...........................................................................................260 Дополнительно… ............................................................................................261 См. также .........................................................................................................262 Использование неупорядоченных ассоциативных контейнеров ...................262 Подготовка ......................................................................................................262 Как это делается… ...........................................................................................262 Как это работает…...........................................................................................263 Дополнительно… ............................................................................................265 См. также .........................................................................................................265 Создание ассоциативного контейнера с индексированием и по значениям......266 Подготовка ......................................................................................................266 Как это делается… ...........................................................................................266 Как это работает…...........................................................................................268 Дополнительно… ............................................................................................269 См. также .........................................................................................................269 Использование многоиндексных контейнеров ...............................................269 Подготовка ......................................................................................................270 Как это делается… ...........................................................................................270 Как это работает…...........................................................................................272 Дополнительно… ............................................................................................274 См. также .........................................................................................................274
Стр.16
16  Оглавление Получение преимуществ от односвязного списка и пула памяти ..................274 Подготовка ......................................................................................................274 Как это делается… ...........................................................................................274 Как это работает…...........................................................................................276 Дополнительно… ............................................................................................277 См. также .........................................................................................................277 Использование плоских ассоциативных контейнеров ....................................278 Подготовка ......................................................................................................278 Как это делается… ...........................................................................................278 Как это работает…...........................................................................................279 Дополнительно… ............................................................................................280 См. также .........................................................................................................281 Глава 10. Сбор информации о платформе и компиляторе .........283 Вступление ..........................................................................................................283 Обнаружение ОС и компилятора.......................................................................284 Подготовка ......................................................................................................284 Как это делается… ...........................................................................................284 Как это работает…...........................................................................................284 Дополнительно… ............................................................................................285 См. также .........................................................................................................285 Обнаружение поддержки 128-битных целых чисел .........................................285 Подготовка ......................................................................................................285 Как это делается… ...........................................................................................285 Как это работает…...........................................................................................286 Дополнительно… ............................................................................................286 См. также .........................................................................................................287 Обнаружение и обход отключенной динамической идентификации типа данных ............................................................................287 Подготовка ......................................................................................................287 Как это делается… ...........................................................................................287 Как это работает…...........................................................................................288 Дополнительно… ............................................................................................289 См. также .........................................................................................................289 Написание метафункций с использованием более простых методов ............290 Подготовка ......................................................................................................290 Как это делается… ...........................................................................................290 Как это работает…...........................................................................................291 Дополнительно… ............................................................................................291 См. также .........................................................................................................291 Уменьшение размера кода и повышение производительности пользовательских типов в C++11 .......................................................................292 Подготовка ......................................................................................................292 Как это делается… ...........................................................................................292 Как это работает…...........................................................................................293 Дополнительно… ............................................................................................293 См. также .........................................................................................................293
Стр.17
Оглавление  17 Переносимый способ экспорта и импорта функций и классов ......................294 Подготовка ......................................................................................................294 Как это делается… ...........................................................................................294 Как это работает…...........................................................................................295 Дополнительно… ............................................................................................296 См. также .........................................................................................................296 Обнаружение версии Boost и получение новейших функций ........................297 Подготовка ......................................................................................................297 Как это делается… ...........................................................................................297 Как это работает…...........................................................................................298 Дополнительно… ............................................................................................298 См. также .........................................................................................................298 Глава 11. Работа с системой .....................................................................299 Вступление ..........................................................................................................299 Перечисление файлов в каталоге ......................................................................299 Подготовка ......................................................................................................300 Как это делается… ...........................................................................................300 Как это работает…...........................................................................................301 Дополнительно… ............................................................................................301 См. также .........................................................................................................302 Стирание и создание файлов и каталогов ........................................................302 Подготовка ......................................................................................................302 Как это делается… ...........................................................................................302 Как это работает…...........................................................................................303 Дополнительно… ............................................................................................304 См. также .........................................................................................................304 Написание и использование плагинов .............................................................304 Подготовка ......................................................................................................304 Как это делается… ...........................................................................................304 Как это работает…...........................................................................................305 Дополнительно… ............................................................................................306 См. также .........................................................................................................306 Получение backtrace – текущей последовательности вызовов .......................306 Приступим...........................................................................................................307 Как это делается… ...........................................................................................307 Как это работает…...........................................................................................308 Дополнительно… ............................................................................................308 См. также .........................................................................................................309 Быстрая передача данных из одного процесса в другой .................................309 Подготовка ......................................................................................................309 Как это делается… ...........................................................................................309 Как это работает…...........................................................................................310 Дополнительно… ............................................................................................311 См. также .........................................................................................................311 Синхронизация межпроцессного взаимодействия .........................................312 Подготовка ......................................................................................................312
Стр.18
18  Оглавление Как это делается… ...........................................................................................312 Как это работает…...........................................................................................314 Дополнительно… ............................................................................................314 См. также .........................................................................................................315 Использование указателей в общей памяти ....................................................315 Подготовка ......................................................................................................315 Как это делается… ...........................................................................................315 Как это работает…...........................................................................................316 Дополнительно… ............................................................................................317 См. также .........................................................................................................317 Самый быстрый способ чтения файлов ............................................................317 Подготовка ......................................................................................................317 Как это делается… ...........................................................................................317 Как это работает…...........................................................................................318 Дополнительно… ............................................................................................319 См. также .........................................................................................................319 Сопрограммы – сохранение состояния и откладывание выполнения ...........319 Подготовка ......................................................................................................319 Как это делается… ...........................................................................................320 Как это работает…...........................................................................................321 Дополнительно… ............................................................................................322 См. также .........................................................................................................323 Глава 12. Касаясь верхушки айсберга .................................................325 Вступление ..........................................................................................................325 Работа с графами ................................................................................................326 Подготовка ......................................................................................................326 Как это делается… ...........................................................................................326 Как это работает…...........................................................................................327 Дополнительно… ............................................................................................329 См. также .........................................................................................................329 Визуализация графов .........................................................................................329 Подготовка ......................................................................................................330 Как это делается… ...........................................................................................330 Как это работает…...........................................................................................331 Дополнительно… ............................................................................................331 См. также .........................................................................................................332 Использование генератора истинно случайных чисел ....................................332 Приступаем .........................................................................................................332 Как это делается… ...........................................................................................332 Как это работает…...........................................................................................333 Дополнительно… ............................................................................................333 См. также .........................................................................................................334 Использование переносных математических функций ..................................334 Подготовка ......................................................................................................334 Как это делается… ...........................................................................................334 Как это работает…...........................................................................................334
Стр.19
Оглавление  19 Дополнительно… ............................................................................................335 См. также .........................................................................................................335 Написание тестовых случаев .............................................................................335 Подготовка ......................................................................................................336 Как это делается… ...........................................................................................336 Как это работает…...........................................................................................336 Дополнительно… ............................................................................................337 См. также .........................................................................................................337 Объединение нескольких тестовых случаев в одном тестовом модуле .........338 Подготовка ......................................................................................................338 Как это делается… ...........................................................................................338 Как это работает…...........................................................................................339 Дополнительно… ............................................................................................339 См. также .........................................................................................................339 Манипулирование изображениями ..................................................................339 Подготовка ......................................................................................................340 Как это делается… ...........................................................................................340 Как это работает…...........................................................................................342 Дополнительно… ............................................................................................343 См. также .........................................................................................................343 Предметный указатель ..............................................................................344
Стр.20

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст