Właściwości języka C++:
- Język C++ jest językiem wieloparadygmatowym. Oznacza to, ze można w nim stosować jednocześnie różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, jak również programować na poziomie asemblera.
- Język C++ zakłada statyczną kontrolę typów; posiada też elementy dynamicznej kontroli typów.
- Język C++ umożliwia bezpośrednie zarządzanie wolną pamięcią.
- Projekt języka zakłada, że żadna nowa (względem języka C) cecha języka C++ nie może mieć negatywnego wpływu na szybkość działania programu lub zapotrzebowanie na pamięć operacyjną. Dzięki temu dobrze napisany program w C++ jest z reguły co najmniej równie szybki, jak jego odpowiednik napisany w C; co więcej, dzięki możliwości zastosowania algorytmów generycznych w wielu przypadkach C++ jest wyraźnie szybszy od C (np. podczas sortowania).
- Język C++ ze względu na bardzo rozbudowaną składnię oraz surowe wymogi w zakresie wydajności kodu stanowi duże wyzwanie dla twórców kompilatorów.
- Do dziś (2010) żaden popularny kompilator nie jest w pełni zgodny z obowiązującym standardem języka, aczkolwiek ewentualne niezgodności dotyczą już tylko drugorzędnych cech języka (np. implementacji słowa kluczowego export).