C++ — изумительных язык, но не идеальный. Если вы давно занимаетесь разработками на C++, эта книга поможет вам по-новому посмотреть на те сложные проблемы, с которыми приходится сталкиваться при программировании, и освоить мощные методы, которые вы никогда раньше не применяли. Если вы новичок в C++, то научитесь принципам программирования, которые позволят вам более эффективно реализовывать все ваши проекты. В ходе чтения книги вы научитесь: • преодолевать недостатки системы типов C++; • обеспечивать выполнение требований проекта программного обеспечения с помощью ограничений, соглашений и утверждений; • правильно обрабатывать ситуации, не оговоренные стандартом, включая проблемы, связанные с динамическими библиотеками, статическими объектами и поточной организацией вычислений; • обеспечивать совместимость динамически загружаемых компонентов на уровне двоичных модулей; понимать недостатки неявных преобразований и связанные с ними затраты и применять альтернативные подходы; повышать совместимость различных компиляторов, библиотек и операционных сред; помогать компилятору обнаруживать больше ошибок и работать более эффективно; • понимать, какие аспекты стиля влияют на надежность; • применять механизм захвата ресурсов при инициализации при решении различных задач; • умело обращаться со странной связью, временами возникающей между массивами и указателями; • использовать шаблонное программирование для повышения гибкости и устойчивости; • расширять C++, в том числе быстрой конкатенацией строк, настоящими NULL-указателями, гибкими буферами памяти, свойствами, многомерными массивами и диапазонами. Прилагаемый компакт-диск содержит много различной ценной информации: компиляторы, библиотеки, тестовые программы, инструментальные средства и служебные программы, а также подборку журнальных статей автора.