为什么C++代码能重用,C代码不能重用

Python06

为什么C++代码能重用,C代码不能重用,第1张

这么多天还没答案啊,那我告诉你吧,首先函数模块都可以重用,这个没话说对吧,C++代码重用的两个重要机制就是继承和模板,这是在C语言里面没有的,继承通俗说就是一个子类可以使用父类的公有的方法和属性,也就是说不用自己定义了,所以相对来说好多代码都不用重写了.另外一个就是模板,模板简单的说就是使类型参数化,举个例子吧

vector<int>ivec

vector<double>dvec

这两个都是用vector,但是不用修改vector的任何代码就可以保存两种类型的变量,也达到了代码重用的目的.

继承和模板在C语言里面都没有,所以友人说C++代码可以重用,而C代码不能

从字面上的意思就是,可以重复进入。可重入是在多任务系统下的概念,意思是这个函数可以在运行到任意位置的时候被中断去执行其他任务,并且返回的时候不会出现任何错误。为什么在多任务的时候才有这种概念。我举个例子,我们定义了一个叫func的函数,同时定义了两个线程,两个线程都调用了func,那么就存在这种情况,线程1正在执行func的时候,线程2开始执行func了,导致两个时刻两个线程都在执行func,正常情况下两个都能执行成功,并且没有错误,我们就认为func是可重入的。但是如果func使用了公共资源,比如读取同一个文件,或者访问了同一个全局变量,这时候就会导致两个线程访问公共资源时发生冲突,这样的函数就是不可重入的。

C语言是用来编写系统的。

最开始,人们手里除了机器码就是汇编,没有别的语言。但是汇编有很多硬件相关的特性,可移植性差。贝尔实验室要解决这一问题,就研发了C语言。

C语言可以跨平台,一份代码,配上不同的编译器就可以在各大电脑上运行。除此之外,C语言效率惊人,在某些情况中,如果汇编水平中等以下,编出来的汇编甚至没有C语言生成的机器码快。

现在,NOIP(现更名为CSP-J和CSP-S)仅允许初赛和复赛使用三种语言:Pascal、C、C++,C语言的重要性不言而喻。

虽然迈入了互联网时代,但是C语言的地位也没有低到可以忽略。C语言在对空间和时间要求较高的设备(如嵌入式设备)中发挥着重要功能,也可以编写各大语言的编译器,有着比较重要的地位。