С++ сам по себе не даёт дополнительной производительности. Он лишь
позволяет писать проще сложные вещи. На простом С можно написать
код, который будет транслироваться в то же самое. Но писать
настолько оптимально это большой напряг. Поэтому все эти
оптимизации прячутся внутрь классов и уход на более высокий уровень
абстракции не ухудшает качество кода. Всё можно написать без
шаблонов и constexpr один раз, ну два. А на С++ компилятор делает
все это неустанно при каждой компиляции. И если код на С++ написан с пониманием во что это транслируется на асме, то он и будет эффективнее кода, написанного среднестатистическим С-программистом. Почему-то С++ программисты имеют более тесную "связь с ассемблером" чем С-коекакеры. Не асм-вставки, это полная глупость со стороны аппонентов, а понимание как код работает в железе. Это связано, по моему мнению, с в целом более высокой квалификацией С++ программистов. Ну просто на С сейчас почти любая обезьянка может с помощью всяких там кубов нагенерить кода совершенно не понимая как оно работает.