A veces es apropiado intercambiar velocidad de ejecución por productividad de programación. Un modelo financiero, por ejemplo, puede ser útil sólo por un periodo corto de tiempo, así que es más importante crear el modelo rápidamente que ejecutarlo rápidamente. No obstante, la mayoría de las aplicaciones requieren algún grado de eficiencia, de modo que C++ siempre se inclina por la mayor eficiencia. Como los programadores de C tienden a ser muy concienzudos con la eficiencia, ésta es también una forma de asegurar que no podrán argumentar que el lenguaje es demasiado pesado y lento. Algunas características en C++ intentan facilitar el afinado del rendimiento cuando el código generado no es lo suficientemente eficiente.
No sólo se puede conseguir el mismo control de bajo nivel que en C (y la capacidad de escribir directamente lenguaje ensamblador dentro de un programa C++), además la experiencia práctica sugiere que la velocidad para un programa C++ orientado a objetos tiende a estar dentro de un ±10% respecto a un programa escrito en C, y a menudo mucho más cerca [32]. El diseño producido para un programa POO puede ser realmente más eficiente que el homólogo en C.
[32] Sin embargo, mire en las columnas de Dan Saks en C/C++ User's Journal sobre algunas investigaciones importantes sobre el rendimiento de librerías C++.