Programski jezik C++ nastao je razvojem jezika C i zadržava visoku kompatibilnost s njime. Kada su tipični projekti u jeziku C svojim opsegom prešli 100000 linija koda počeli su se pokazivati nedostaci jezika. Godine 1979 Bjarne Stroustrup (http://www.research.att.com/~bs/) je započeo eksperimentirati s jezikom C te je razvio novi jezik nazvan C with classes. Novi je jezik imao klase koje su omogućavale separaciju implementacije i javnog sučelja. Godine 1983 nakon nekoliko modifikacija i proširenja novog jezika skovano je ime C++, a prva komercijalna implementacija se pojavila 1985. U isto vrijeme izlazi prvo izdanje knjige Bjarne Stroustrup: The C++ Programming Language. Između 1985. i 1989. jezik je doživio veće inovacije: zaštićeni članovi, parametrizirane klase, višestruko nasljeđivanje itd. Godine 1989, American National Standards Institution (ANSI) je započeo standardizaciju jezika na temelju knjige Margaret A. Ellis, Bjarne Stroustrup: The Annotated C++ Reference Manual, poznate kao ARM. Standardizaciju su zajednički radili ANSI i ISO komitet (International Standardization Organization) i jezik je 1997. godine definiran standardnom koji je dopunjen 2003. godine i danas nosi ime ISO/IEC 14882:2003. Novi standard, nazvan C++0x jer se njegov usvajanje očekivalo do kraja 2009. godine, donijet će neke novosti i u samom jeziku i u standardnoj biblioteci.
C++ je u najvećoj mogućoj mjeri kompatibilan s C-om te se stoga može koristiti kao proceduralni jezik, odnosno kao poboljšani C. Pored toga C++ omogućava objektno orijentirano i generičko programiranje te je stoga multiparadigmatski jezik. Jezik zadržava visoku efikasnost te se koristi i za numeričke aplikacije.