C++는 다목적 프로그래밍 언어로, 객체 지향 프로그래밍과 절차적 프로그래밍을 지원한다.
1980년대에 Bjarne Stroustrup에 의해 C 언어를 기반으로 개발되었으며, C 언어의 고성능과 효율성을 유지하면서도 더 고급 기능을 제공하는 것이 특징이다.
객체 지향 프로그래밍: 클래스와 객체, 상속, 다형성 등 객체 지향 개념을 지원하여 코드의 재사용성과 유지보수성을 높인다.
메모리 관리: 개발자가 직접 메모리를 할당하고 해제할 수 있어 메모리 사용의 효율성을 극대화할 수 있지만, 반대로 메모리 누수 등 관리에 신경 써야한다.
다형성 지원: 같은 인터페이스를 가진 다른 클래스들을 사용하여 유연하고 확장 가능한 프로그램을 작성할 수 있게 해 소프트웨어의 유지보수성과 재사용성을 높여준다.
표준 라이브러리(STL): C++은 표준 템플릿 라이브러리(STL)를 제공하여, 알고리즘, 자료구조 등을 쉽게 사용할 수 있게 한다.