美国AT&T贝尔实验室Bjarne Stroustrup 博士在20世纪80年代初期发明并实现了C++(最初这种语言被称为“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1488-1998. C++是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,最近一次标准更新是2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及它经历了长年的演变,直到现在(2009年)只有Visual C++ 2010 CTP 开发环境的编译器完全符号这个标准。
C++0x的新标准(语言和库两方面):
(1)右值引用与转移语义;
(2)类型推定;
(3)新增的函数语法;
(4)约束;
(5)对象构建方面的改进;
(6)空指针;
(7)强类型枚举;
(8)尖括号;
(9)显示转换符操作;
(10)模板typedef;
(11)透明的垃圾收集;
(12)变参模板;
(13)新的字符串常量;
(14)用户自定义的字面量;
(15)多任务内存模型;
(16)线程局部存储;
(17)关于缺省成员函数;
(18)long long int 类型;
(19)静态断言;
(20)sizeof操作符的改变
允许在没有提供类实例的前提下作用于类的成员。