C++系统研发工程师知识储备(一)

本文介绍了C++作为编译型语言的特点,对比了编译型与解释型语言的优缺点,如执行速度与平台兼容性。此外,还探讨了强类型与弱类型、静态类型与动态类型的区别,并分析了C++与C、Java、Python在语言特性和编译过程上的差异。

一、基本语言知识点

(一)编译型语言和解释型语言

  1. 编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)(C、C++)

    (1)优点: 执行速度快、效率高
    (2)缺点: 编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,跨平台性差

  2. 解释型语言的源代码不会直接翻译成机器指令,而是先生成中间代码,再由解释器对中间代码解释运行。在运行的时候才将源程序翻译成机器码,翻译一句,然后执行一句,直至结束。( JavaScript、Python)
    (1) 优点:有良好的平台兼容性,
    (2) 缺点:执行速度慢、效率低

(二)强类型语言和弱类型语言

1、强类型语言也称为强类型定义语言。(C++、Java)

  • 是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。一个已经被指定了数据类型的变量,除非是经过强制类型转换,否则无法被赋值为其他类型的数据

2、弱类型语言也称为弱类型定义语言。(Python)

  • 与强类型定义相反。变量会自适应地去匹配数据类型

(三)动态类型语言和静态类型语言

  1. 动态类型语言是指在运行期间才去做数据类型检查的语言,不是在编译阶段决定的,把类型绑定延后到了运行阶段。(Python)
  2. 静态类型语言的数据类型是在编译期间确定的,或者说运行之前确定的,编写代码的时候要明确确定变量的数据类型。(C、C++、Java)

(四

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值