Динамо-машины  Метод Сократа 

[ 1 ] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

Метод Сократа

Как читать данную книгу

Благодарности

Обобщенное программирование и стандартная библиотека С++ Задача 1. Вектор; потребление и злоупотребление

Вопрос для новичка

Вопрос для профессионала

Обращение к элементу вектора

Увеличение размера вектора

Резюме

Задача 2. Сфочный двор. Часть 1: sprintf

Вопрос для новичка

Вопрос для профессионала

Радости и печали sprintf Задача 3, Строчный двор. Часть 2; стандартные альтернативы

Вопрос для профессионала

Альтернатива №!: snprintf

Альтернатива №2: std::stringstream

Альтернатива №3: std::strstream

Альтернатива №4: boost;:lexical cast

Резюме

Задача 4. Функции-члены стандартной библиотеки Вопрос для новичка Вопрос для профессионала Игры с mem fiin

Используйте mem fun, но не со стандартной библиотекой Использование указателей на функции-члены - но не со стандартной библиотекой

Резюме

Задача 5. Красота обобщенности. Часть 1: Азы

Вопрос для новичка

Вопрос для профессионала Задача 6. Красота обобщенности. Часть 2: Достаточно ли универсальности?

Вопрос для профессионала Задача 7. Почему не специализируются шаблоны функций?

Вопрос для новичка

Вопрос для профессионала

Перегрузка и специализация



Пример Димова-Абрамса Мораль сей басни такова...

Резюме

Задача 8. Дружественные шаблоны Вопрос для новичка Вопрос для профессионала Исходная попытка В темных углах Причина 1: не всегда работает Причина 2: удивляет программистов Причина 3: удивляет компиляторы Отступление: проблема в пространстве имен Два неверных обходных пути Резюме

Задача 9. Ограничения экспорта. Часть 1: основы Вопрос для новичка Вопрос для профессионала Рассказ о двух моделях Пояснение на примере Использование экспорта Проблема первая: открытый исходный текст Проблема вторая: зависимости и время построения Резюме

Задача 10. Ограничения экспорта. Часть 2; взаимосвязи, практичность и советы по использованию

Вопрос для новичка

Вопрос для профессионала

Начало: 1988-1996 гг.

1996 г.

Опыт работы с экспортом

До чего доводит экспорт

Трудность корректного использования

Потенциальные преимущества экспорта

Мораль

Вопросы и приемы безопасности исключений Задача И. Попробуй поймай

Вопрос для новичка

Вопрос для профессионала

Резюме

Задача 12. Безопасность исключений: стоит ли овчинка выделки?

Вопрос для профессионала

Гарантии Абрамса

Какая именно гарантия нужна Задача 13. Прагматичный взгляд на спецификации исю7ючений

Вопрос для новичка

Вопрос для профессионала

Нарушение спецификации



Применение

Проблема первая - призраки типов Проблема вторая - (не)понимание Копнем поглубже Резюме

Разработка классов, наследование и полиморфизм Задача 14. К порядку!

Вопрос для новичка

Вопрос для профессионала

Резюме

Задача 15. Потребление и злоупотребление правами доступа

Вопрос для новичка

Вопрос для профессионала

Преступник №1: фальсификатор

Преступник №2: карманник

Преступник №3; мошенник

Персона грата №4; адвокат

Не нарушай Задача 16. Крепко закрыт?

Вопрос для профессионала

Доступность

Видимость

И снова доступность

Резюме Задача 17. Инкапсуляция

Вопрос для новичка

Вопрос для профессионала

Место инкапсуляции в объектно-ориентированном п ро гра м м и ро ва н и и Открытые, закрытые или защищенные данные? Преобразование в общем случае Актуальный момент Резюме Задача 18. Виртуальность Вопрос для новичка Вопрос для профессионала Обычный совет о деструкторах базовых классов Виртуальный вопрос №1: открытость или закрытость? Виртуальный вопрос №2: деструкторы базовых классов Резюме

Задача 19. Не можешь - научим, не хочешь - заставим! Вопрос для новичка Вопрос для профессионала Неявно генерируемые функции

Спецификации исключений неявно определенных функций

Неявный конструктор по умолчанию

Неявный копирующий конструктор

Неявный копирующий оператор присваивания



[ 1 ] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90