C++ 程序的生命周期
编码、预处理、编译和运行
在编译的过程中,编译器还会根据 C++ 语言规则检查程序的语法、语义是否正确,发现错误就会产生“编译失败”。这就是最基本的 C++“静态检查”。
编译阶段之后,有了可执行文件,C++ 程序就可以跑起来了,进入运行阶段。这个时候,“静态的程序”被载入内存,由 CPU 逐条语句执行,就形成了“动态的进程”。
“编程范式”是一种“方法论”,就是指导你编写代码的一些思路、规则、习惯、定式和常用语。
C++ 语言的五种范式
- 面向过程
顺序执行的语句、子程序(函数),把任务分解成若干个步骤去执行,最终达成目标。
- 面向对象
它的核心思想是“抽象”和“封装”,倡导的是把任务分解成一些高内聚低耦合的对象,这些对象互相通信协作来完成任务。它强调对象之间的关系和接口,而不是完成任务的具体步骤。
- 泛型编程
核心思想是“一切皆为类型”,或者说是“参数化类型”“类型擦除”,使用模板而不是继承的方式来复用代码,所以运行效率更高,代码也更简洁。
- 模板元编程
模板元编程是一种高级、复杂的技术,C++ 语言对它的支持也比较少,更多的是以库的方式来使用,比如 type_traits、enable_if 等。
- 函数式编程
核心思想是“一切皆可调用”,通过一系列连续或者嵌套的函数调用实现对数据的处理。
** C++ 的编程范式其实用的最多的就是面向过程、面向对象、类模板和泛型编程。**
试着从程序的生命周期和编程范式的角度,把 C++ 和其他语言(例如 Java、Python)做个比较,说说 C++ 的优点和缺点分别是什么。
C++的优点是运行效率高,毕竟比较靠近底层硬件了。c++的代码安全性高,反汇编难度很大,用 C++11/14 之后的新特性来写程序真的是很舒服,有很多语法糖和好用的库,再加上适当的编码风格规范,和go/java可以说是不相上下了。
网友评论