C언어 계승

C언어의 문법적 체계를 그대로 계승함

또한, C로 작성되어 컴파일된 object file이나 라이브러리를 C++ 프로그램에서 링크하여 사용 가능


객체지향 도입

추상화, 상속, 다형성 등 객체 지향적 개념을 도입


타입 체크

타입 체크를 엄격히 하여 실행 시간의 오류 가능성을 줄이고 디버깅을 도움


런타임 효율성 저하 최소화

객체 지향 도입으로 메소드의 호출이 잦아지고

이로 인해 발생하는 비효율성을 막기 위해 인라인 함수를 도입 등으로 시간 저하를 막음

inline int min(int x, int y)
{
    return x > y ? y : x;
}

이렇게 바로 적어주면 main에서는

int main()
{
    std::cout << (5 > 6 ? 6 : 5) << '\\n';
    std::cout << (3 > 2 ? 2 : 3) << '\\n';
    return 0;
}