C++编译器真的那么快吗?

开发 后端
之所以大多数编程人员都会去选择C++编译器去进行编译,其最明显的一个是C++为了速度,大部分的方法调用都用的是静态绑定。

最近开始对C++编译器进行学习,去各大书店买了一些关于C++和C++编译器的书。看完后觉得C++跟C基本没什么太大的区别,C++***的有点就是方便快捷,运行速度也有了大幅度提高。

这样就带来一个很奇怪的问题,如果我们把一个NULL值随便转换成一个其他类型,那么C++编译器会非常正常的调用到对应的方法,这样有好处,也有坏处,好处是C++追求的速度得到了,但是坏处是,逻辑会变得很古怪。

除了这个以外,C++里面的构造函数也还真够复杂的,复制构造函数,赋值构造函数,如果把类型转换那套加进去,一个值在运行时到底是什么类型,还真是要慢慢研究。另外由于C++号称是一个enhance版的C。

所以,把C的那套都带进去了,变量类型搞得无比复杂,在原来的变量,指针之外,还要再加上引用。 这么复杂,真是何苦了。
还有一个不能不说的是。

今天刚看到了异常处理,发现异常处理还要到达方法级,实在古怪,而导致这个问题的原因就是,C++在变量声明时,不是将他初始为默认值,例如NULL之类,而是调用它的缺省构造函数。因为这个,又导致了构造函数声明时要带个列表,这样就会导致进入构造函数前就抛出了异常,ai,简简单单的一个问题搞得那么复杂,实在让人抓狂。

C++程序良好的可移植性使得C++语言成为程序设计人员的***工具语言,而保证这一特性必需使用标准化的C++编码。国内高校尤其是高职院校的教材中,存在着大量非标准化的C++程序,不利于培养具有标准化C++编程风格的学生。

本文从C++发展史、教育工作者和教材规范化等多个角度出发,分析了这一问题产生的原因,并提出了相应的解决办法。 1983年***个C++程序投入使用,1994年8月,ansi/iso委员会草案登记,这便是业内所称的早期的C++标准。

1998年11月,iso/iec:98-14882标准(以下简称98标准)被批准,标志着C++代码的标准化正式诞生[1]。C++语言诞生以来,延续了c语言的重要特征,即C++源程序良好的可移植性。正是这一特性,使得C++编译器长期以来一直是程序开发人员的***。 C++语言良好的可移植性是它具有较强生命力的关键所在。目前标准委员会正在修订C++标准,并拟于2009年发布修订后的09标准。

【编辑推荐】

  1. 如何正确编写C++项目开发编写项目计划书
  2. 对C++库函数进行学习探索总结笔记
  3. 深度演示C++语言的种种高安全性
  4. 详细介绍如何准确无误的编写C++语言
  5. 深度演示C++语言的种种高安全性
责任编辑:chenqingxiang 来源: 清华大学出版社
相关推荐

2010-01-26 09:24:53

C++语言

2010-01-15 16:45:35

C++语言

2010-01-18 10:34:21

C++编译器

2010-01-21 09:11:38

C++编译器

2010-01-18 10:28:15

C++编译器

2010-10-20 13:43:37

C++编译器

2010-02-03 13:14:03

C++编译器命令

2010-01-14 15:29:44

C++编译器

2010-01-12 16:42:59

C++编译器

2010-01-21 09:26:53

CC++编译器

2010-01-27 16:39:48

C++编译器

2009-01-12 10:16:11

Visual C++编译器选项设置

2010-01-27 14:48:55

优秀C++编译器

2010-01-08 16:00:46

C++编译器

2012-02-09 09:14:32

C++

2010-01-22 18:33:17

C++编译器

2010-01-15 16:37:28

Visual C++

2010-01-13 17:12:26

C++编译器

2013-03-18 09:42:47

C++C++ 11

2023-11-15 17:58:58

C++代码
点赞
收藏

51CTO技术栈公众号