"Мюррэй Хилл, Бьярн Страустрап. Язык С++" - читать интересную книгу автора

Исключались те черты, которые могли бы повлечь дополнительные
расходы памяти или времени выполнения. Например, мысли о том, чтобы
сделать необходимым храние в каждом объекте "хозяйственной"
информации, были отвергнуты; если пользователь описывает структуру,
состоящую из двух 16-битовых величин, то структура поместится в 32-
битовый регистр.
C++ проектировался для использования в довольно традиционной
среде компиляции и выполнения, среде программирования на C в
системе UNIX. Средства обработки особых ситуаций и параллельного
программирования, требующие нетривиальной загрузки и поддержки в
процессе выполнения, не были включены в C++. Вследствие этого
реализация C++ очень легко переносима. Однако есть полные основания
использовать C++ в среде, где имеется гораздо более существенная
поддержка. Такие средства, как динамическая загрузка, пошаговая
трансляция и база данных определений типов могут с пользой
применяться без воздействия на язык.
Типы и средства скрытия данных в C++ опираются на проводимый во
время компиляции анализ программ с целью предотвращения случайного
искажения данных. Они не обеспечивают секретности или защиты от
умышленного нарушения правил. Однако эти средства можно
использовать без ограничений, что не приводит к дополнительным
расходам времени на выполнение или пространства памяти.

Исторические замечания

Безусловно, C++ восходит главным образом к C [7]. C сохранено как
подможество, поэтому сделанного в C акцента на средствах низкого
уровня достаточно, чтобы справляться с самыми насущными задачами
системного программирования. C, в свою очередь, многим обязано
своему предшественнику BCPL [9]; на самом деле, комментарии //
(заново) введены в C++ из BCPL. Если вы знаете BCPL, то вы
заметите, что в C++ по-прежнему нет VALOF блока. Еще одним
источником вдохновения послужил язык Simula67 [2,3]; из него была
позаимствована концепция класса (вместе с производными классами и
функциями членами). Это было сделано, чтобы способствовать
модульности через использование виртуальных функций. Возможности
C++ по перегрузке операций и свобода в расположении описаний везде,
где может встречаться оператор, похожи на Алгол68 [14].
Название C++ - изобретение совсем недавнее (лета 1983его). Более
ранние версии языка использовались начиная с 1980ого и были
известны как "C с Классами". Первоначально язык был придуман
потому, что автор хотел написать модели, управляемые прерываниями,
для чего был бы идеален Simula67, если не принимать во внимание
эффективность. "C с Классами" использовался для крупных проектов
моделирования, в которых строго тестировались возможности
написания программ, требующих минимального (только) пространства
памяти и времени на выполнение. В "C с Классами" не хватало
перегрузки операций, ссылок, виртуальных функций и многих деталей.
C++ был впервые введен за пределами исследовательской группы автора