C++ (Си++) — компилируемый статически типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования, но, в сравнении с его предшественником — языком Си, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
Название «C++» происходит от Си (C), в котором унарный оператор ++ обозначает инкремент переменной.
В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.
При создании C++ стремились сохранить совместимость с языком Си. Большинство программ на Си будут исправно работать и с компилятором C++. C++ имеет синтаксис, основанный на синтаксисе Си.
Новые возможности по сравнению с Си:
* поддержка объектно-ориентированного программирования;
* поддержка обобщённого программирования через шаблоны;
* дополнительные типы данных;
* исключения;
* пространства имён;
* встраиваемые функции;
* перегрузка операторов;
* перегрузка имён функций;
* ссылки и операторы управления свободно распределяемой памятью;
* дополнения к стандартной библиотеке.
Язык C++ во многом является надмножеством Си. Новые возможности C++ включают объявления в виде выражений, преобразования типов в виде функций, операторы new и delete, тип bool, ссылки, расширенное понятие константности, подставляемые функции, аргументы по умолчанию, переопределения, пространства имён, классы (включая и все связанные с классами возможности, такие как наследование, функции-члены, виртуальные функции, абстрактные классы и конструкторы), переопределения операторов, шаблоны, оператор ::, обработку исключений, динамическую идентификацию и многое другое. Язык C++ также во многих случаях строже относится к проверке типов, чем Си.
В C++ появились комментарии в виде двойной косой черты (//), которые были в предшественнике Си — языке BCPL.
Некоторые особенности C++ позднее были перенесены в Си, например ключевые слова const и inline, объявления в циклах for и комментарии в стиле C++ (//). В более поздних реализациях Си также были представлены возможности, которых нет в C++, например макросы vararg и улучшенная работа с массивами-параметрами.
Будущее развитие
Текущий стандарт языка был принят в 2003 году. Следующая версия стандарта носит неофициальное название C++0x.
C++ продолжает развиваться, чтобы отвечать современным требованиям. Одна из групп, занимающихся языком C++ в его современном виде и направляющих комитету по стандартизации C++ советы по его улучшению — это Boost. Например, одно из направлений деятельности этой группы — совершенствование возможностей языка путём добавления в него особенностей метапрограммирования.
Стандарт C++ не описывает способы именования объектов, некоторые детали обработки исключений и другие возможности, связанные с деталями реализации, что делает несовместимым объектный код, созданный различными компиляторами. Однако для этого третьими лицами создано множество стандартов для конкретных архитектур и операционных систем.
Тем не менее (по состоянию на время написания этой статьи) среди компиляторов C++ всё ещё продолжается битва за полную реализацию стандарта C++, особенно в области шаблонов — части языка, совсем недавно полностью разработанной комитетом стандартизации.
© Wikipedia
Свои вопросы по программированию на данном языке задем в этой теме, По мере возможностей помогу:)