Bahasa ini dikembangkan oleh Bjarne Stroustrup mulai pada tahun 1979 di Bell Labs sebagai tambahan untuk bahasa C. Awalnya bernama "C with class", bahasa itu kemudian berganti nama C + + pada tahun 1983.
Menurut Stroustrup: "nama menandakan sifat evolusi perubahan dari C". Selama periode pengembangan C + +, bahasa ini telah dirujuk sebagai "C baru", kemudian "C with Classes". Nama terakhir adalah dipersembahkan ke Rick Mascitti (pertengahan 1983) dan pertama kali digunakan pada Desember 1983.
Ketika Mascitti mempertanyakan secara informal pada tahun 1992 tentang penamaan ini, ia menunjukkan bahwa itu diberikan dalam semangat lidah-di-pipi (togue-in-cheek). Hal ini berasal dari C operator "+ +" ( penambahan 1 nilai variabel) dan konvensi penamaan umum menggunakan "+" untuk menunjukkan sebuah program komputer ditingkatkan. Tidak ada bahasa yang disebut "C ditambah". ABCL / c + adalah nama sebuah bahasa, pemrograman sebelumnya tidak berhubungan.
C + + adalah salah satu bahasa pemrograman paling populer dengan domain aplikasi termasuk sistim perangkat lunak, aplikasi perangkat lunak, driver, perangkat lunak tertanam, server berkinerja tinggi dan aplikasi-aplikasi client, dan perangkat lunak hiburan seperti video game. Beberapa kelompok memberikan gratis dan kepemilikan perangkat lunak compiler C + +, termasuk juga GNU Project, Microsoft, Intel dan Embarcadero Technologies mereka pun memberikan layanan gratis tersebut.
Bahasa mulai sebagai perangkat tambahan ke C, pertama menambahkan kelas, maka fungsi virtual, operator overloading, multiple inheritance, template, dan penanganan pengecualian (exception) antara fitur-fitur lainnya.
Setelah tahun pengembangan, C++ bahasa pemrograman standar diratifikasi pada tahun 1998 sebagai ISO / IEC 14882:1998.Standar ini diubah oleh kesalahan dlm tulisan yg diperbaiki 2003 teknis, ISO / IEC14882:2003. Standar saat ini memperpanjang C++ dengan fitur baru disahkan dan diterbitkan oleh ISO pada bulan September 2011 sebagai ISO / IEC 14882:2011(informal dikenal sebagai C + 11).
Bjarne Stroustrup mulai bekerja pada "C with Classes" pada tahun 1979. Ide untuk menciptakan bahasa baru berasal dari pengalaman Stroustrup dalam pemrograman untuk gelar Ph.D. tesis. Stroustrup menemukan bahwa Simula memiliki fitur yang sangat membantu untuk pengembangan perangkat lunak besar, tetapi bahasa itu terlalu lambat untuk penggunaan praktis, sementara BCPL dengan cepat tapi terlalu rendah tingkat cocok untuk pengembangan perangkat lunak besar. Ketika Stroustrup mulai bekerja di AT & T Bell Labs, ia menganalisis masalah kernel UNIX terhadap komputasi terdistribusi. Mengingat gelar Ph.D. pengalaman, Stroustrup berangkat untuk meningkatkan bahasa C dengan Simula-seperti fitur. C dipilih karena itu adalah tujuan umum, cepat, portabel dan banyak digunakan. Selain C dan Simula, beberapa bahasa lain yang mengilhami dia adalah ALGOL 68, Ada, CLU dan ML. Pada awalnya, kelas, kelas turunan, memeriksa jenis yang kuat, inlining, dan fitur argumen default yang ditambahkan ke C melalui itu Stroustrup C + + ke C compiler, Cfront. Pelaksanaan komersial pertama dari C++ dirilis pada 14 Oktober 1985.
Pada tahun 1983, nama bahasa itu berubah dari C dengan Kelas ke C + + (+ + menjadi operator kenaikan di C). Fitur-fitur baru yang ditambahkan termasuk fungsi virtual, nama fungsi dan operator overloading, referensi, konstanta, yang dikendalikan oleh pengguna non-store kontrol memori, memeriksa jenis diperbaiki, dan BCPL gaya single-line dengan dua garis miring (//) untuk komentar. Pada tahun 1985, edisi pertama dari The C + + Programming Language ini dirilis, dan menyediakan referensi penting untuk bahasa ini, karena belum ada standar resmi Rilis 2.0 dari.
C++ datang pada tahun 1989 dan edisi kedua diperbarui dari The C++ Programming Language yang dirilis pada 1991. Ada fitur baru termasuk multiple inheritance, kelas abstrak, fungsi anggota statis, fungsi anggota const, dan anggota (variabel) dilindungi. Pada tahun 1990, The Annotated C + + Reference Manual diterbitkan. Karya ini menjadi dasar untuk standar masa depan. Selain itu akhir fitur yang disertakan template, pengecualian, ruang nama, gips baru, dan tipe Boolean.
Saat bahasa C++ berkembang, library standar pun ikut berevolusi. Penambahan pertama untuk library standar C++ adalah stream I/O library yang menyediakan fasilitas untuk menggantikan fungsi C tradisional seperti printf dan scanf. Kemudian, di antara penambahan yang paling signifikan ke perpustakaan standar, adalah sejumlah besar dari Standard Template Library.
Di dalam C + + Object Model (Lippman, 1996) menjelaskan bagaimana compiler dapat mengkonversi C++ ke dalam laporan program tata letak di memori. Namun, penulis compiler bebas untuk menerapkan standar dalam cara mereka sendiri.