Реклама
Нововведениями Си++ в сравнении с Си являются:поддержка объектно-ориентированного программирования;
поддержка обобщённого программирования через шаблоны;
дополнительные типы данных;
исключения;
пространства имён;
встраиваемые функции;
перегрузка операторов;
перегрузка имён функций;
ссылки и операторы управления свободно распределяемой памятью;
дополнения к стандартной библиотеке.
Язык Си++ во многом является надмножеством Си. Новые возможности Си++ включают объявления в виде выражений, преобразования типов в виде функций, операторы new и delete, тип bool, ссылки, расширенное понятие константности, подставляемые функции, аргументы по умолчанию, переопределения, пространства имён, классы (включая и все связанные с классами возможности, такие как наследование, функции-члены, виртуальные функции, абстрактные классы и конструкторы), переопределения операторов, шаблоны, оператор ::, обработку исключений, динамическую идентификацию и многое другое. Язык Си++ также во многих случаях строже относится к проверке типов, чем Си.
В Си++ появились комментарии в виде двойной косой черты («//»), которые были в предшественнике Си — языке BCPL.
Некоторые особенности Си++ позднее были перенесены в Си, например ключевые слова const и inline, объявления в циклах for и комментарии в стиле Си++ («//»). В более поздних реализациях Си также были представлены возможности, которых нет в Си++, например макросы vararg и улучшенная работа с массивами-параметрами.