2014-02-03 3 views
0

Если C++ предположительно является «расширенной версией C», почему люди все еще имеют код в C? Я понимаю, что C - системный язык, но поскольку все, что можно сделать в C, можно сделать на C++. Итак, почему некоторые программисты/ученые предпочитают C++ для C?Почему язык C все еще используется?

+1

'Если предполагается, что C++ является« расширенной версией C », кто предположил, что это так? – Sadique

+4

В основном это надмножество C, но это не значит, что это лучше или мы должны переключиться. Objective-C - это строгий суперсет , но мы не ставим на это массово. – user2357112

+1

C++ является объектно-ориентированным, а C - структурированным языком. В их приложении много различий. –

ответ

9

Возможно, причина в том, что C++ требует более совершенного времени выполнения. Это необходимо для управления конструкторами, деструкторами и т. Д. Кроме того, STL требует реализации.

C С другой стороны, это проще. Для реализации не существует сложной среды исполнения. Меньшие операционные системы с ограниченным объемом памяти, прошивка «голого металла» или некоторые драйверы могут требовать только то, что предлагает C.

Даже в C++ элементы C все еще используются. Например, при связывании с методом из DLL, из загрузчика или чего-то еще, например, может быть предпочтительным имя наименования C, потому что имя «uncluttered».

Подробнее information on 'extern "C"' чтобы понять, как его использовать при привязке.

Смежные вопросы