معرفی کتاب «Новые сложные задачи на C++. 40 новых головоломных задач с решениями» نوشتهٔ Саттер, Герб، منتشرشده توسط نشر ООО “И.Д. Вильямс” در سال 2008. این کتاب در فرمت pdf، زبان ru ارائه شده است.
Оглавление Содержание ПРЕДИСЛОВИЕ Стиль или суть? Метод Сократа Как читать данную книгу Благодарности От издательства ОБОБЩЕННОЕ ПРОГРАММИРОВАНИЕ И СТАНДАРТНАЯ БИБЛИОТЕКА C++ Задача 1. Вектор: потребление и злоупотребление Задача 2. Строчный двор. Часть 1: sprintf Задача 3. Строчный двор. Часть 2: стандартные альтернативы Задача 4. Функции-члены стандартной библиотеки Задача 5. Красота обобщенности. Часть 1: Азы Задача 6. Красота обобщенности. Часть 2: Достаточно ли универсальности? Задача 7. Почему не специализируются шаблоны функций? Задача 8. Дружественные шаблоны Задача 9. Ограничения экспорта. Часть 1: основы Задача 10. Ограничения экспорта. Часть 2: взаимосвязи, практичность и советы по использованию ВОПРОСЫ И ПРИЕМЫ БЕЗОПАСНОСТИ ИСКЛЮЧЕНИЙ Задача 11. Попробуй поймай Задача 12. Безопасность исключений: стоит ли овчинка выделки? Задача 13. Прагматичный взгляд на спецификации исключений РАЗРАБОТКА КЛАССОВ, НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ Задача 14. К порядку! Задача 15. Потребление и злоупотребление правами доступа Задача 16. Крепко закрыт? Задача 17. Инкапсуляция Задача 18. Виртуальность Задача 19. Не можешь — научим, не хочешь — заставим! (или как заставить потомков вести себя прилично) УПРАВЛЕНИЕ ПАМЯТЬЮ И РЕСУРСАМИ Задача 20. Контейнеры в памяти. Часть 1: уровни управления памятью Задача 21. Контейнеры в памяти. Часть 2: какие они на самом деле? Задача 22. Новый взгляд на new. Часть 1: многоликий оператор new Задача 23. Новый взгляд на new. Часть 2: прагматизм в управлении памятью ОПТИМИЗАЦИЯ И ЭФФЕКТИВНОСТЬ Задача 24. Константная оптимизация Задача 25. inline Задача 26. Форматы данных и эффективность. Часть 1: игры в сжатие Задача 27. Форматы данных и эффективность. Часть 2: игры с битами ЛОВУШКИ, ОШИБКИ И ГОЛОВОЛОМКИ Задача 28. Ключевые слова, не являющиеся таковыми Задача 29. Инициализация ли это? Задача 30. Двойная точность — вежливость программистов Задача 31. Сумеречное состояние... кода Задача 32. Небольшие очепятки и прочие курьезы Задача 33. Ооооператоры ИЗУЧЕНИЕ КОНКРЕТНЫХ ПРИМЕРОВ Задача 34. Индексные таблицы Задача 35. Обобщенные обратные вызовы Задача 36. Объединения Задача 37. Ослабленная монолитность. Часть 1: взгляд на std::string Задача 38. Ослабленная монолитность. Часть 2: разбор std::string Задача 39. Ослабленная монолитность. Часть 3: уменьшение std::string Задача 40. Ослабленная монолитность. Часть 4: новый std::string СПИСОК ЛИТЕРАТУРЫ Предметный указатель
Software "style" is about finding the perfect balance between overhead and functionality... elegance and maintainability... flexibility and excess. In Exceptional C++ Style, legendary C++ guru Herb Sutter presents 40 new programming scenarios designed to analyze not only the what but the why and help you find just the right balance in your software.
Organized around practical problems and solutions, this book offers new insight into crucial C++ details and interrelationships, and new strategies for today's key C++ programming techniques—including generic programming, STL, exception safety, and more. You'll find answers to questions like:
- What can you learn about library design from the STL itself?
- How do you avoid making templated code needlessly non-generic?
- Why shouldn't you specialize function templates? What should you do instead?
- How does exception safety go beyond try and catch statements?
- Should you use exception specifications, or not?
- When and how should you "leak" the private parts of a class?
- How do you make classes safer for versioning?
- What's the real memory cost of using standard containers?
- How can using const really optimize your code?
- How does writing inline affect performance?
- When does code that looks wrong actually compile and run perfectly, and why should you care?
- What's wrong with the design of std::string?
Exceptional C++ Style will help you design, architect, and code with style—and achieve greater robustness and performance in all your C++ software.
"Exceptional C++ Style will help you design, architect, and code with style - and achieve greater robustness and performance in all your C++ software."--BOOK JACKET