Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
16.1. Альтернативы пользовательского интерфейса
16.2. Кнопка Next
16.3. Простое окно
16.3.1. Функции обратного вызова
16.3.2. Цикл ожидания
16.4. Класс Button и другие разновидности класса Widget
16.4.1. Класс Widget
16.4.2. Класс Button
16.4.3. Классы In_box и Out_box
16.4.4. Класс Menu
16.5. Пример
16.6. Инверсия управления
16.7. Добавление меню
16.8. Отладка программы графического пользовательского интерфейса
Часть III Данные и алгоритмы
Глава 17 Векторы и свободная память
17.1. Введение
17.2. Основы
17.3. Память, адреса и указатели
17.3.1. Оператор sizeof
17.4. Свободная память и указатели
17.4.1. Размещение в свободной памяти
17.4.2. Доступ с помощью указателей
17.4.3. Диапазоны
17.4.4. Инициализация
17.4.5. Нулевой указатель
17.4.6. Освобождение свободной памяти
17.5. Деструкторы
17.5.1. Обобщенные указатели
17.5.2. Деструкторы и свободная память
17.6. Доступ к элементам
17.7. Указатели на объекты класса
17.8. Путаница с типами: void* и операторы приведения типов
17.9. Указатели и ссылки
17.9.1. Указатели и ссылки как параметры функций
17.9.2. Указатели, ссылки и наследование
17.9.3. Пример: списки
17.9.4. Операции над списками
17.9.5. Использование списков
17.10. Указатель this
17.10.1. Еще раз об использовании списков
Глава 18 Векторы и массивы
18.1. Введение
18.2. Копирование
18.2.1. Конструкторы копирования
18.2.2. Копирующее присваивание
18.2.3. Терминология, связанная с копированием
18.3. Основные операции
18.3.1. Явные конструкторы
18.3.2. Отладка конструкторов и деструкторов
18.4. Доступ к элементам вектора
18.4.1. Перегрузка ключевого слова const
18.5. Массивы
18.5.1. Указатели на элементы массива
18.5.2. Указатели и массивы
18.5.3. Инициализация массива
18.5.4. Проблемы с указателями
18.6. Примеры: палиндром
18.6.1. Палиндромы, созданные с помощью класса string
18.6.2. Палиндромы, созданные с помощью массива
18.6.3. Палиндромы, созданные с помощью указателей
Глава 19 Векторы, шаблоны и исключения
19.1. Проблемы
19.2. Изменение размера
19.2.1. Представление
19.2.2. Функции reserve и capacity
19.2.3. Функция resize
19.2.4. Функция push_back
19.2.5. Присваивание
19.2.6. Предыдущая версия класса vector
19.3. Шаблоны
19.3.1. Типы как шаблонные параметры
19.3.2. Обобщенное программирование
19.3.3. Контейнеры и наследование
19.3.4. Целые типы как шаблонные параметры
19.3.5. Вывод шаблонных аргументов
19.3.6. Обобщение класса vector
19.4. Проверка диапазона и исключения
19.4.1. Примечание: вопросы проектирования
19.4.1.1. Совместимость
19.4.1.2. Эффективность
19.4.1.3. Ограничения
19.4.1.4. Необязательная проверка
With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.
David Butenhof
Данная книга написана экспертами по C++ и содержит готовые рецепты решения каждодневных задач для программистов на С++. Один из авторов является создателем библиотеки Boost Iostreams и нескольких других библиотек C++ с открытым исходным кодом. В книге затрагивается множество тем, вот лишь некоторые из них: работа с датой и временем; потоковый ввод/вывод; обработка исключений; работа с классами и объектами; сборка приложений; синтаксический анализ XML-документов; программирование математических задач. Читатель сможет использовать готовые решения, а сэкономленное время и усилия направить на решение конкретных задач.
Джефф Когсуэлл , Джонатан Турканис , Д. Райан Стефенс , Кристофер Диггинс
Мобильность – безусловно, неоспоримое преимущество ноутбука. Однако она накладывает на пользователя и определенные ограничения. Перед ним регулярно встает масса задач: оптимизация энергопотребления ноутбука, мониторинг уровня заряда аккумуляторов, регулярная настройка сетевых подключений разных типов (в том числе и таких экзотических, как GPRS и Wi-Fi), настройка различных режимов работы экрана, CD/DVD-приводов, жестких дисков…Но сегодня разработана масса программ, которые призваны облегчить жизнь владельцу ноутбука. Теперь вам не придется искать различные настройки в дебрях Windows, достаточно лишь запустить определенную программу и наслаждаться своей мобильностью.
Владимир Сергеевич Пташинский
Брайан В. Керниган , Брайан Керниган , Деннис М Ритчи , Деннис М. Ритчи