Начать новую тему Ответить на тему
Статистика раздачи
Размер: 8.72 МБ | | Скачали: 200
Сидеров: 0  [0 байт/сек]    Личеров: 0  [0 байт/сек]
Пред. тема | След. тема 

Автор
Сообщение

Ответить с цитатой 

C++: практический подход к решению проблем программирования

Год выпуска: 2006
Автор: Уилсон Мэтью
Формат: DjVu
Качество: Отсканированные страницы
Количество страниц: 736
Описание: С++ √ изумительных язык, но не идеальный. Если вы давно занимаетесь разработками на С++, эта книга поможет вам по-новому посмотреть на те сложные проблемы, с которыми приходится сталкиваться при программировании, и освоить мощные методы, которые вы никогда раньше не применяли. Если вы новичок в С++, то научитесь принципам программирования, которые позволят вам более эффективно реализовывать все ваши проекты. В ходе чтения книги вы научитесь:
- преодолевать недостатки системы типов С++;
- обеспечивать выполнение требований проекта программного обеспечения с помощью ограничений, соглашений и утверждений;
- правильно обрабатывать ситуации, не оговоренные стандартом, включая проблемы, связанные с динамическими библиотеками, статическими объектами и поточной организацией вычислений;
- обеспечивать совместимость динамически загружаемых компонентов на уровне двоичных модулей;
- понимать недостатки неявных преобразований и связанные с ними затраты и применять альтернативные подходы;
- повышать совместимость различных компиляторов, библиотек и операционных сред;
- помогать компилятору обнаруживать больше ошибок и работать более эффективно;
- понимать, какие аспекты стиля влияют на надежность;
- применять механизм захвата ресурсов при инициализации при решении различных задач;
- умело обращаться со странной связью, временами возникающей между массивами и указателями;
- использовать шаблонное программирование для повышения гибкости и устойчивости;
- расширять С++, в том числе быстрой конкатенацией строк, настоящими NULL-указателями, гибкими буферами памяти, свойствами, многомерными массивами и диапазонами.
Прилагаемый компакт-диск содержит много различной ценной информации: компиляторы, библиотеки, тестовые программы, инструментальные средства и служебные программы, а также подборку журнальных статей автора.
Доп. информация:

Краткое содержание
Пролог
Введение: философия неидеального практика
Дефекты, ограничения, определения и рекомендации
Часть 1. Базовые концепции
Глава 1. Принудительное проектирование: ограничения, соглашения и утверждения
...1.1. ╚Яичница с ветчиной╩
...1.2. Соглашения времени компиляции: ограничения
...1.3. Соглашения времени выполнения: предусловия, постусловия и инварианты
...1.4. Утверждения
Глава 2. Проблемы жизненного цикла объекта
...2.1. Жизненный цикл объекта
...2.2. Контроль ваших клиентов
...2.3. Списки инициализации членов и их достоинства
Глава 3. Инкапсуляция ресурсов
...3.1. Таксономия инкапсуляции ресурсов
...3.2. Типы POD
...3.3. Прокси-оболочки
...3.4. Типы RRID
...3.5. Типы RAII
...3.6. RAII: заключение
Глава 4. Инкапсуляция данных и типы значений
...4.1. Таксономия инкапсуляции данных
...4.2. Типы значений и типы сущностей
...4.3. Таксономия типов значений
...4.4. Открытые типы
...4.5. Инкапсулированные типы
...4.6. Типы значений
...4.7. Арифметические типы значений
...4.8. Типы значений: заключение
...4.9. Инкапсуляция: заключение
Глава 5. Модели доступа к объектам
...5.1. Ограниченное время жизни объектов
...5.2. Копирование объектов
...5.3. Непосредственный доступ
...5.4. Совместно используемые объекты
Глава 6. Классы, контролирующие диапазон действия ресурсов
...6.1. Значение
...6.2. Состояние
...6.3. Программные интерфейсы и службы
...6.4. Специальные возможности языка
Часть 2. Выживание в условиях реального мира
Глава 7. Двоичный интерфейс приложения
...7.1. Совместно используемый программный код
...7.2. Требования для двоичного интерфейса языка С
...7.3. Требования С++ для двоичного интерфейса приложения
...7.4. Теперь мне ничто не мешает программировать в стиле С
Глава 8. Переносимые через границы
...8.1. Как сделать таблицы vtable максимально переносимыми?
...8.2. Переносимые таблицы vtable
...8.3. Двоичный интерфейс и объекты, переносимые через границы: заключение
Глава 9. Динамические библиотеки
...9.1. Явный вызов функций
...9.2. Идентичность объектов: единицы компоновки и пространство компоновки
...9.3. Продолжительность жизни
...9.4. Контроль версий
...9.5. Владение ресурсами
...9.6. Динамические библиотеки: заключение
Глава 10. Поточная организация вычислений
...10.1. Синхронизация доступа к целым числам
...10.2. Синхронизация доступа к блокам кода: критические области
...10.3. Эффективность неделимых целочисленных операций
...10.4. Многопоточные расширения
...10.5. Специальная память потока
Глава 11. Статические объекты
...11.1. Нелокальные статические объекты: глобальные объекты
...11.2. Синглетоны
...11.3. Функционально-локальные статические объекты
...11.4. Статические члены
...11.5. Статические объекты: заключение
Глава 12. Оптимизация
...12.1. Встроенные функции
...12.2. Оптимизация возвращаемых значений
...12.3. Оптимизация пустой базы
...12.4. Оптимизация пустых производных классов
...12.5. Предотвращение оптимизации
Часть 3 Языковые проблемы
Глава 13. Фундаментальные типы
...13.1. Могу ли я получить байт?
...13.2. Целые типы фиксированного размера
...13.3. Целые типы большого размера
...13.4. Опасные типы
Глава 14. Массивы и указатели
...14.1. Не повторяйте себя
...14.2. Вырождение массивов в указатели
...14.3. dimensionof()
...14.4. Нельзя передавать массивы функциям
...14.5. Массивы всегда передаются с помощью адреса
...14.6. Массивы унаследованных типов
...14.7. Нельзя иметь многомерные массивы
Глава 15. Значения
...15.1. NULL √ ключевое слово, которого не было
...15.2. Перейдем к ZERO
...15.3. Изгибы ╚истины╩
...15.4. Литералы
...15.5. Константы
Глава 16. Ключевые слова
...16.1. interface
...16.2. temporary
...16.3. owner
...16.4. explicit(_cast)
...16.5. unique
...16.6. final
...16.7. Неподдерживаемые ключевые слова
Глава 17. Синтаксис
...17.1. Компоновка класса
...17.2. Условные выражения
...17.3. for
...17.4. Обозначение переменных
Глава 18. Имена, вводимые typedef
...18.1. Использование typedef для указателей
...18.2. Что содержит определение?
...18.3. Алиасы
...18.4. ╚Настоящие╩ typedef
...18.5. Хороший, плохой и ужасный
Часть 4. Осознанные преобразования
Глава 19. Приведение типов
...19.1. Неявное преобразование
...19.3. Пример приведений в стиле С
...19.4. ╚Стероидные╩ приведения
...19.5. explicit_cast
...19.6. literal_cast
...19.7. union_cast
...19.8. comstl::interface_cast
...19.9. boost::polymorphic_cast
...19.10. Приведение типов: заключение
Глава 20. Прокладки
...20.1. Всеохватность изменений и усиливающаяся гибкость
...20.2. Прокладки атрибутов
...20.3. Логические прокладки
...20.4. Управляющие прокладки
...20.5. Прокладки преобразований
...20.6. Концепции составных прокладок
...20.7. Пространства имен и поиск Кенига
...20.8. Почему не шаблоны свойств?
...20.9. Структурное соответствие
...20.10. Разрушение монолита
...20.11. Прокладки: заключение
Глава 21. Облицовочные классы
...21.1. Облегченный RAII
...21.2. Связывание данных и операций
...21.3. Уточнение концепций
...21.4. Облицовочные классы: заключение
Глава 22. Прикрепляемые классы
...22.1. Добавление функциональности
...22.2. Выбор оболочки
...22.3. Переопределение не виртуальных методов
...22.4. Увеличение возможностей
...22.5. Моделирование полиморфизма на этапе компиляции: реверсивные прикрепляемые классы
...22.6. Параметризованная полиморфная упаковка
...22.7. Прикрепляемые классы: заключение
Глава 23. Шаблонные конструкторы
...23.1. Скрытые недостатки
...23.2. Висячие ссылки
...23.3. Специализация шаблонных конструкторов
...23.4. Прокси аргументов
...23.5. Ориентация аргументов на определенные типы
...23.6. Шаблонные конструкторы: заключение
Часть 5. Операторы
Глава 24. operator bool()
...24.1. operator int() const
...24.2. operator void *() const
...24.3. operator bool() const
...24.4. operator !() √ нет!
...24.5. operator boolean const *() const
...24.6. operator int boolean::*() const
...24.7. Применение операторов в реальных условиях
...24.8. operator!
Глава 25. Быстрая, неагрессивная конкатенация строк
...25.1. fast_string_concatenator<>
...25.2. Производительность
...25.4. Метод посева конкатенации
...25.5. Патологическое применение скобок
...25.6. Стандартизация
Глава 26. Какой ваш адрес?
...26.1. Можно не получить реальный адрес
...26.2. Что происходит во время преобразования?
...26.3. Что мы возвращаем?
...26.4. Какой ваш адрес?: заключение
Глава 27. Операторы индексации
...27.1. Операторы преобразования в указатели и операторы индексации
...27.2. Обработка ошибок
...27.3. Возвращаемое значение
Глава 28. Операторы инкремента
...28.1. Недостающие постфиксные операторы
...28.2. Эффективность
Глава 29. Арифметические типы
...29.1. Определение класса
...29.2. Конструирование по умолчанию
...29.3. Инициализация (конструирование значения)
...29.4. Копирующий конструктор
...29.5. Присваивание
...29.6. Арифметические операторы
...29.7. Операторы сравнения
...29.8. Осуществление доступа к значению
...29.9. sinteger64
...29.10. Усечения, перевод в другие форматы и проверки
...29.11. Арифметические типы: заключение
Глава 30. Быстрое вычисление
Часть 6. Расширение C++
Глава 31. Продолжительность жизни возвращаемых значений
...31.1. Таксономия ╚странностей╩ продолжительности жизни возвращаемых значений
...31.2. Зачем возвращать ссылку?
...31.3. Решение 1 √ integer_to_string<>
...31.4. Решение 2 √ специальная память потока
...31.5. Решение 3 √ расширение RVL
...31.6. Решение 4 √ определение размера статического массива
...31.7. Решение 5 √ прокладки преобразований
...31.8. Производительность
...31.9. RVL: большая победа сборки мусора
...31.10. Потенциальные применения
...31.11. Продолжительность жизни возвращаемых значений: заключение
Глава 32. Память
...32.1. Таксономия памяти
...32.2. Лучший из двух миров
...32.3. Распределители памяти
...32.4. Память: заключение
Глава 33. Многомерные массивы
...33.1. Обеспечение синтаксиса индексации
...33.2. Установка размеров на этапе выполнения программы
...33.3. Установка размеров на этапе компиляции
...33.4. Доступ ко всему массиву
...33.5. Производительность
...33.6. Многомерные массивы: заключение
Глава 34. Функторы и диапазоны
...34.1. Синтаксическая неразбериха
...34.2. for_all() ?
...34.3. Локальные функторы
...34.4. Диапазоны
...34.5. Функторы и диапазоны: заключение
Глава 35. Свойства
...35.1. Расширения компилятора
...35.2. Варианты реализации
...35.3. Свойства-поля
...35.4. Свойства-методы
...35.6. Виртуальные свойства
...35.7. Применение свойств
...35.8. Свойства: заключение
Приложение A. Компиляторы и библиотеки
...A.1. Компиляторы
...A.2. Библиотеки
...A.3. Другие источники
Приложение Б. Остерегайтесь самомнения!
...Б.1. Перегрузка операторов
...Б.2. Когда-то я пожалел о том, что следовал принципу DRY
...Б.3. Параноидальное программирование
...Б.4. Настоящее безумие!
Приложение В. Arturius
Приложение Г. Компакт-диск
Эпилог
Библиография
Предметный указатель
Правила, инструкции, FAQ!!!
Торрент   Скачать торрент Магнет ссылка
Скачать торрент
[ Размер 3.45 КБ / Просмотров 31 ]

Статус
Проверен 
 
Размер  8.72 МБ
Приватный: Нет (DHT включён)
.torrent скачан  200
Как залить торрент? | Как скачать Torrent? | Ошибка в торренте? Качайте магнет  


     Отправить личное сообщение
   
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему


Сейчас эту тему просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!