PHP、Java、Python、C、C++ 这几种编程语言都各有什么优势或特色?(四)

PHP、Java、Python、C、C++ 这几种编程语言都各有什么优势或特色?(四)

C++有什么编程范式?编程

  1. 过程式(使用STL的类C语言编程)
  2. ADT式(自定义抽象数据类型,继承;可是不用new,不用virtual;拷贝构造;为了防止资源泄漏,也发明了RAII的方式进行资源的初始化和释放)
  3. 面向对象式(使用new,使用virtual,须要指针或引用;实现多态。)
  4. 泛型编程(《Modern C++ Design》各类奇淫技巧,业务层代码比较少遇到)

C++编译器是怎样实现的?segmentfault

C++开始有一个叫作cfront的编译器,即把C++语言先翻译成C语言。编程语言

而后再用C编译器来编译,C的编译器并不知道此段代码是来自C++仍是C。
image函数

C++语言特性分别是怎样实现?简单说。this

  1. 成员变量:和C语言的struct 相似,最后也会被直接替换成地址,便于高效访问。
  2. 成员函数:使用特殊函数名编码方案,翻译成C函数,并添加this指针做参数。(如___clsA12345func001(…,clsA *this))
  3. 类型继承体系:经过C++编译时的Meta-Data来实现。即在编译时,编译器是知道类型信息与继承体系的,可是编译成C语言后就丧失了此类型信息。
  4. 虚函数、虚继承:为了支持多态,这也是“面向对象”最重要的特性,使用了虚函数表和虚基类表。注意,运行时多态是经过运行时查表实现的。稍后详细说。
  5. 模板:经过代码复制的方式实现。每次编译都须要从新编译,不能编成库文件直接使用。

推荐观看:笨办法学Python!编程小白的第一本Python入门书!编码

注意!spa

在这里插入图片描述

相关文章
相关标签/搜索