C++是一种使用非常广泛的电脑程序设计语言。 它是一种静态数据类型检查的,支持多范型的通用程序设计语言 。 C++支持过程化程序设计 、 数据抽象化 、 面向对象程序设计 、 泛型程序设计 、 基于原则设计等多种程序设计风格。
贝尔实验室的比雅尼·斯特劳斯特鲁普博士在20世纪 80年代发明并实现了C++。 起初,这种语言被称作“C with Classes”(“包含类型的C语言”),作为C语言的增强版出现。 随后,C++不断增加新特性。 虚函数 (virtual function)、 操作符重载 (operator overloading)、 多重继承 (multiple inheritance)、 模板 (template)、 异常处理 (exception)、 RTTI (Runtime type information)、 命名空间 (namespace)逐渐纳入标准。 1998年 国际标准组织 (ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。 另外,就目前学习C++而言,可以认为它是一门独立的语言;它并不依赖C语言,我们可以完全不学C语言,而直接学习C++。 根据《C++编程思想》( Thinking in C++ )一书所评述的,C++与C的效率往往相差在±5%之间。 所以有部分人认为在大多数场合中,C++完全可以取代C语言。
C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年 。 这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年 ,这一阶段由于标准模板库 (STL)和后来的Boost等程序库的出现, 泛型程序设计在C++中占据了越来越多的比重性。 当然,同时由于Java 、 C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki 、 MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。