目录
一、C++简介及历史
二、与C语言的关系
三、C++优点及缺点
四、C++标准
五、C++的应用领域
六、推荐经典教材
七、C++关键字
----------------------------------------------------------------------------------------------------------------------------------------------------
一、C++简介及历史
1、C++支持多种编程范式:面向对象编程、泛型编程和过程化编程。支持类、封装、重载等等。2、C++创始人:本贾尼.斯特劳斯特卢普(Bjame Stroupstrup)。
3、1983年,贝尔实验室的Bjame Stroupstrup在C语言基础上推出了C++语言。
二、与C语言的关系
1、C语言是C++的基础,C++和C语言在很多方面是兼容的。2、最大区别在于解决问题的思想方法上。
3、C++对C的"增强",主要表面共6方面:
a.类型检查更为严格
b.增加了面向对象的机制
c.增加了泛型编程的机制(Template)
d.增加了异常处理
e.增加了运算符重载
f.增加了标准模板库(STL)
三、C++优点及缺点
优点:
1.C++设计成静态类型是和C同样高效且可移植的多用途程序设计语言
2.C++设计直接的和广泛的支持多种程序设计(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)
3.C++设计无需要复杂的程序设计环境
4.C++语言灵活,
运算符的数据结构丰富、
具有结构化程序控制语言、
程序执行效率高、
而且同时具有高级语言与汇编语言的优点,
与其它语言相比的,可以直接访问物理地址,与汇编相比双又有良好的可读性和可移植性。
5.C++引入了面向对象的概念,使得开发人机交互类型的应用程序理为简单、快捷。
很多优秀的程序架构包括:Boost,QT,MFC,OWL,WTL就是使用C++。
缺点:
1.C++由于语言本身复杂。C++的编译系统受到C++的复杂性的影响,非常用难于编写,即使能够使用的编译器如果存在问题,可能难于被发现。
2.由于本身的复杂性,复杂的C++程序的正确性相当难于保证。
四、C++标准
1.C++ 98标准 C++标准第一版,1998年发布。正式名称为ISO/IEC 14882:1998。2.C++ 03标准 C++标准第二版,2003年发布。正式名称为ISO/IEC 14882:2003。
3.C++ 11标准 C++标准第三版,2011年发布。正式名称为ISO/IEC 14882:2011。
4.C++ 14标准 C++标准第四版,2014年发布。正式名称为ISO/IEC 14882:2014。
五、C++的应用领域
1.应用平台 Unix,Linux,Windows,Android,IOS等
2.高性能实时计算
3.CAD,CAE,CAM等
4.机器人及工业控制系统
5.航空航天系统
6.游戏服务器
7.手机等智能设备
8.系统级框架
9.没有C++干不了事情等
六、推荐经典教材
入门级水平:
C++ primer 中文版(第五版)
C++ primer Plus 中文版(第六版)
进阶级水平:
C++编程思想
C++标准程序库:自修教程与参考手册
泛型编程与STL
STL源码剖析
高阶级水平:
标准C++输入输出流与本地化
C++网络编程
深度探索C++对象模型
设计模式:可复用面向对象软件的基础
大规模C++程序设计
七、C++关键字
关键字(keyword)又称为保留字,是整个语言范围内预先保留的标识符。每个C++关键字都有特殊的含义。经过预处理后,关键字从预处理记号中区出来,剩下的标识符作为记号,用于声明对旬、函数、类型、命名空间等。不能声明与关键字同名的标识符。
C++ 98/03关键字,ISO C++98/03关键字共计63个:
asm do if return typedef
auto double inline short typeid
bool int dynamic_cast signed typename
break else enum mutable static
catch explicit namespace static_cast using
char export new struct virtual
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true delete
goto try reinterpret_cast
C++ 11
alignas constexpr char16_t char32_t decltype
nullptr noexcept static_assert