Ursprungligen inskrivet av Weeblie
Huvudproblemet med C++ är att språket har massor av extra detaljer och regler som inte är helt uppenbara, vilket också är en av orsakerna till att man fortfarande skriver OS-kärnor i C. C gör uppenbarligen vad koden säger. C++ är mycket mindre uppenbart (om man nu inte verkligen är en C++ guru). Exceptions, polymorfism (virtuella funktioner) och "för mycket OOP" tenderar också att vara skadligt, prestanda-mässigt sett.
Att byta över till C helt för dem tidskritiska delrana är oftast inte nödvändigt. Istället brukar man helt enkelt skriva de facto C-kod i C++ för sådana delar (eller rättare sagt, man stoppar in allt i ett fåtal icke-ärvda, icke-ärvande klasser) alternativt använder sig kraftigt av compile-time polymorfism (i.e. template metaprogrammering).
Det är värt att observera att många C++ kompilatorer egentligen är C kompilatorer med en front-end som konverterar C++ kod till C kod (t.ex. mixar om namnen på funktionerna).