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

14 篇文章 0 订阅

PHP、Java、Python、C、C++ 这几种编程语言都各有什么优点或特点?

C++有什么编程范式?

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

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

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

然后再用C编译器来编译,C的编译器并不知道此段代码是来自C++还是C。
在这里插入图片描述

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

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

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

注意!
点击此群,一起交流学习
群号:Python编程资源裙
610380249

申请即送:Python软件安装包,Python源码,Python100道经典练习题。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值