как будто разница есть, чет в голос
Нажмите, чтобы раскрыть...
есть конечно, ты смеешься что ли 
если ты не сильно урезанный сабсет плюсов используешь, то разница на глаза
как минимум в том, как хороший код принято писать в плюсах и как принято писать на c 
в плюсы как бы тьюринг полные compile time вычисления заложены
которые всякую дичь позволяют творить
ну вот например:
lin_vector a{1, 0, 0};
lin_vector b{0, 1, 0};
lin_vector c{0, 0, 1};
lin_vector sum = 1 * a + 2 * b + 3 * c;
оператор сложения порождает новый объект (lin_vector, lin_vector) => lin_vector
оператор умножения на скаляр порождает новый объект (double, lin_vector) => lin_vector
и получается в выражении
lin_vector sum = 1 * a + 2 * b + 3 * c;
создаётся аж
temp_1 = (1 * a)
temp_2 = (2 * b)
temp_3 = (3 * c)
temp_4 = temp_1 + temp_2
temp_5 = temp_4 + temp_3
5 временных объектов, прежде чем он наконец присвоится в sum.
могли мы это улучшить? очевидно да
просто создать
lin_vector sum {1*a.x + 2 * b.x + 3*c.x, /* и по всем другим координатам*/};
а представь мы бы матрицы так складывали?
ад просто
нет, нам тогда нужна какая-то variadic функция аля
linear_sum(double, lin_vector, double, lin_vector ...) => lin_vector
но что если мы домножим на какой-то скаляр еще?
double f = 15.5;
lin_vector sum = f * (1 * a + 2 * b + 3 * c);
зачем нам вычислять временный объект (1 * a + 2 * b + 3 * c), если можно сразу вычислить
(f * 1 * a + f * 2 * b + f * 3 * c)
И прикол c++, что ты реально можешь в compile time написать все эти правила переподсчёта и скипать сколь угодно вложенные выражения из временных объектов, что в очень нагруженных математикой вещах может дать существенный буст по производительности
да и не только про математику это, про какие-нибудь 100500 вложенные друг в друга фильтрующие итераторы, последовательности и т.д.
там где нам нужно было хранить кучу объектов — мы всё можем аккуратно запропогейтить вниз, не теряя в экспрессии и понятности происходящего
тут конечно можно выпендриваться, что мол возьми lisp, либо какое-нибудь современное шуе: nim, scala, там и не такое возможно и даже круче: и кисель заместо рек, и берега из куличей
но плюсы не лисп и не скалы, на которых пишут люди из палаты, и наличие в плюсах, всеми принятом в индустрии языке, уже таких возможностей это очень круто
в c бы тебе пришлось писать оптимизации ручками самому, получая очень не-декларативный cryptic код
другого там просто не будет тебе доступно