Язык C++

Главная / Язык C++
Объектно-ориентированное программирование
Константы
Поточный ввод-вывод
Указатель void
Функции
Динамическое выделение памяти
Абстрактные типы данных
Классы
Область видимости класса
Статические члены класса
Ссылки
Конструкторы и деструкторы
Неявный указатель this
Дружественные функции
Перегрузка операций
Наследование
Виртуальные функции
Множественное наследование
Параметрический полиморфизм
Работа с файлами
Аргументы функции main
Обработка исключительных ситуаций

Литература
Роберт Лафоре: Объектно-ориентированное программирование в С++
Скотт Мэйерс: Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ
Скотт Мейерс: Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14
Николай Литвиненко: Технология программирования на C++. Начальный курс

Язык С++ возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. Когда в конце 1970-х годов Страуструп начал работать в Bell Labs над задачами теории очередей, он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки объемного программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки объемного программного обеспечения. Страуструп дополнил язык C возможностями работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов), так и с точки зрения времени вычислений (благодаря быстродействию C).

При создании C++ Бьёрн Страуструп ставил цели:

  • Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C.
  • Непосредственно и всесторонне поддерживать множество стилей программирования, в том числе процедурное программирование, абстракцию данных, объектно-ориентированное программирование и обобщённое программирование.
  • Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно.
  • Максимально сохранить совместимость с С: любая конструкция, допустимая в обоих языках, должна в каждом из них обозначать одно и то же и приводить к одному и тому же поведению программы.
  • Избегать особенностей, которые зависят от платформы или не являются универсальными.
  • «Не платить за то, что не используется» — неиспользуемые языковые средства не должны приводить к снижению производительности программ.
  • Не требовать сложной среды программирования.

Все основные операции, операторы, типы данных языка Си присутствуют в С++. Некоторые из них усовершенствованы и добавлены принципиально новые конструкции, которые и позволяют говорить о С++ как о новом языке, а не просто о новой версии языка

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *