## C++的特点
### 优点:
1. 强大的抽象封装能力:这让C++语言具备了强大的开发工程能力时,在封装的同时C++最大程度地保留了高性能
2. 高性能:运行快,且占用资源少,这一直是C++语言的追求
3. 低功耗:特别适合在各种微型的嵌入式设备中运行高效的程序
### 缺点:
1. 语法相对复杂,细节比较多,学习曲线比较陡
2. 需要一些好的规范和范式,否则代码很难维护
## C++的应用
1. 大型左面应用程序(如Google Chrome和Microsoft Office)
2. 大型网站的后台,如Google的搜索引擎
3. 游戏和游戏引擎(Unity)
4. 视觉库和Ai引擎(如Open cv和Tensorflow)
5. 数据库(Microsoft SQL Server和 Mongodb)
6. 其他(如自动驾驶系统,嵌入式设备等)
总结:总得来说,C++的开发成本比较高,对于内存和CPU要求很高,低功耗且程序被调用非常频繁等场景中,目前来说C++语言是最合适的语言
## C++基本语法
### 编程语言的层次和类型
从上到下,使用层次更接近于人类使用,但运行效率逐渐降低
* 机器(Machine)语言,汇编语言等
* 编译型语言,如C++,C等
* 解释型语言,如Basic,Python等
* 脚本语言,如bash,csh等
### 编译型语言
编译型语言一般需要经历编译和链接的过程,才能变成真正可执行的程序。
![](https://img.kancloud.cn/17/78/1778ea282dd020cd7aed54f93305ef46_841x143.png)
编译,连接的大致过程:
![](https://img.kancloud.cn/6b/9a/6b9ad9d724a4e4b7b6cced0edad08a51_1008x812.png)