C++ je multiparadigmatický programovací jazyk. Byl vyvinut Bjarnem Stroustrupem a dalšími programátory v Bellových laboratořích AT&T jako rozšíření jazyka C. C++ podporuje širší škálu paradigmat, tedy programovacích stylů, mezi které patří procedurální programování, objektově orientované programování a generické programování. Nedá se tedy říct, že by se jednalo čistě o objektově orientovaný jazyk. Patří mezi nejrozšířenější programovací jazyky.
Původně jazyk vznikal pro potřeby systémového programování a vestavěného software s omezenými zdroji a pro potřeby velkých systémů.
Důraz byl kladen na:
C++ je ale užitečné i v mnoha jiných kontextech, s tím, že klíčovými silnými stránkami jazyka jsou:
C++ je kompilovaným jazykem, který má dostupné implementace na mnoha platformách. Mnoho dodavatelů nabízí C++ kompilátory. Patří mezi ně například Free Software Foundation, Microsoft, Intel nebo IBM.
C++ je standardizované Mezinárodní organizací pro normalizaci (International Organization for Standardization – ISO). Nejnovější standardizovaná verze byla ověřena a vydána organizací ISO v prosinci 2017 jako ISO/IEC 14882:2017. Neformálně se jí přezdívá C++17. Programovací jazyk C++ byl původně standardizován v roce 1998 jako ISO/IEC 14882:1998. Tato verze byla následně rozšířena o standardy verzí C++03, C++11 a C++14. Současná verze C++17 předčí tyto svoje předchůdce díky novým vlastnostem a rozšířené standardní knihovně. Další plánovanou standardizovanou verzí je C++20. Před začátkem standardizace v roce 1998 bylo C++ vyvíjeno Bjarnem Stroustrupem a Bellovými laboratořemi od roku 1979.
Původním záměrem bylo vyvinout jazyk jako rozšíření jazyku C a vytvořit tak efektivní a flexibilní jazyk, který by byl podobný C a který by zároveň dokázal poskytnout pokročilé vlastnosti.
Mnoho dalších programovacích jazyků se inspirovalo jazykem C++, včetně C#, D, Java nebo nových verzí C.
Jazyk C++ byl během svého vývoje postavený na následujících zásadách:
V roce 1979 začal dánský počítačový expert Bjarne Stroustrup pracovat na jazyku „C se třídami“, předchůdci dnešního C++. Motivací pro vytvoření tohoto nového jazyka byly zkušenosti Stroustrupa s programováním jeho dizertace. Stroustrup došel k závěru, že Simula měla důležité vlastnosti, které byly zásadní pro vývoj velkého software, ale jazyk byl příliš pomalý pro praktické použití. BCPL bylo rychlé, ale příliš základní, aby se na vývoj velkého software dalo použít. Když Stroustrup začal pracovat v Bellových laboratořích, měl problém s analýzou jádra operačního systému UNIX v souvislosti s distribuovaným výpočtem. Když si vzpomněl na svou dizertaci, Stroustrup se rozhodl rozšířit jazyk C o vlastnosti podobné Simule. C bylo vybráno jako základ proto, že to byl obecný, rychlý, přenosný a široce používaný jazyk. Stejně jako C a Simula ovlivnily vznik C++ i další jazyky, jako například ALGOL 68, Ada, CLU nebo ML.
Původně přidávalo Stroustrupovo „C se třídami“ vlastnosti kompilátoru C Cpre, včetně tříd, odvozených tříd a dalších.
V roce 1983 bylo „C se třídami“ přejmenováno na C++ a byly přidány nové funkce včetně virtuálních funkcí, jmen funkcí a přetěžování operátorů.
V roce 1985 vyšlo první vydání The C++Programming Language. Tato kniha se stala hlavní dokumentací jazyka, jelikož žádný oficiální standard zatím neexistoval. První komerční implementace C++ byla vyreleasována v říjnu roku 1985.
V roce 1989 byla vyreleasována verze C++ 2.0 následována aktualizovaným druhým vydáním The C++ Programming Language v roce 1991. V roce 1990 byl vydán „The Annotated C++ Reference Manual“ který posloužil jako základ pozdější standardizace.
Po aktualizaci 2.0 se C++ vyvíjelo poměrně pomalu až do roku 2011, kdy byl vydán standard C++11. Po menší aktualizaci C++14, která byla vydaná v prosinci 2014 přišly větší změny s verzí C++17 a další změny jsou naplánované na rok 2020.
Podle statistik je C++ třetím nejoblíbenějším programovacím jazykem, hned po jazycích Java a C.