Да и нет.
C и C ++ имеют много общего (на самом деле, большинство C - это подмножество C ++).
Но C более ориентирован на «императивное программирование», тогда как C ++, в дополнение к парадигме C, имеет больше легкодоступных парадигм, таких как функциональное программирование, универсальное программирование, объектно-ориентированное программирование, метапрограммирование.
Таким образом, я вижу элемент «C / C ++», который говорит либо как «пересечение C и C ++», либо как «знакомство с программированием на C, а также программированием на C ++» , в зависимости от контекста.
Теперь эти два языка действительно разные и имеют разные решения для похожих проблем. Разработчику C было бы трудно "разобрать / понять" источник C ++, тогда как разработчику C ++ было бы нелегко распознать шаблоны, используемые в источнике C.
Таким образом, если вы хотите увидеть, как далеко C от C ++ в выражении "C / C ++", хорошим сравнением будут учебники GTK + C, и то же самое в C ++ (GTKmm):
C: GTK + Hello World: http://library.gnome.org/devel/gtk-tutorial/stable/c39.html#SEC-HELLOWORLD
C ++: GTKmm Hello World: http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/sec-helloworld.html
Чтение этих источников весьма поучительно, поскольку, насколько я их разобрал, они производят абсолютно одинаковые, "одинаковые" пути (в отношении языков).
Таким образом, я полагаю, что «выражение» C / C ++ вполне может быть выражено сравнением этих источников.
: -)
Вывод из всего этого заключается в том, что все в порядке, если используется в следующих контекстах:
- описание пересечения C и C ++
- описание знакомства с программированием на C, а также с программированием на C ++
- описание совместимого кода
Но это было бы не для:
- оправдание соблюдения кода в подмножестве C ++ (или C) для конфетной совместимости с C (или C ++), когда совместимость нежелательна (а в большинстве проектов C ++ это нежелательно, поскольку весьма ограничивает).
- утверждение, что C и C ++ могут / должны быть закодированы одинаково (как НЕ показано в примере GTK + / GTKmm выше)