Введение в язык Си++
C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.Ключевым понятием C++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline- подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.
Размышления о программировании на C++
Вложенные Классы
Видимость имен членов
История и назначение языка Си++
Имена
Выражения
Что такое оператор
Вызов функций
Целые числа
Понятие класса
Массивы
Автоматические переменные
Виртуальные методы
Интерфейс и состояние объекта
Копирующий конструктор
Переопределение операций
Компоновка нескольких файлов в одну программу
Файлы и переменные
Виды ошибок
Потоки
Назначение шаблонов
Создание вашей первой программы
Уменьшение количества операторов
Программирование на C++ глазами хакера
Минимизация и невидимость
Простые шутки
Система
Работа с сетью
Работа с железом
Полезные алгоритмы
Список литературы и ресурсы Интернета
Правила программирования на Си и Си++
Делается попытка дать средство для преодоления этой трудности в виде собрания практических правил программирования на Си++ и Си - правил, которые, надеюсь, уберегут вас от неприятностей, если вы будете их использовать с самого начала. Хотя большинство из приводимых здесь правил применимы равно при программировании как на Си, так и на Си++, я включил много материала, относящегося лишь к миру Си++ и сконцентрированного по мере возможности в заключительном разделе. Если вы программируете лишь на Си, то просто игнорируйте материал по Си++, встречающийся вам в более ранних разделах.Правила программирования на Си и Си++
Откажитесь от выражений языка Си, когда программируете на Си++
C++.Бархатный путь
Язык и грамматика
Обзор принципов объектно-ориентированного программирования
Справочное руководство по C++