c/c++的发展与不同

7 篇文章 0 订阅

c、c++的发展历史:

1973年,美国贝尔实验室的D.M.RITCHIE改进了b语言,形成了c语言,c语言是面向过程的,只有函数库。

在20世纪80年代初期,贝尔实验室的Bjarne Stroustrup发明并实现了c++(c with classses)。刚开始c++只是作为c的加强版,不断添加新特性,从刚开始的添加类,到添加虚函数,运算符重载,多重继承,模板,异常,RTTI,命名空间的等。直到1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1988-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISOC++。

c++标准库包含了完整的c标准库和一些新的库,具体如下图:


关于#include<iostream.h>和#include<iostream> using namespace std;的理解:

c语言的库文件都是.H结尾的,c++是从20世纪80年代发展的,起初作为c的补充,都是把类和函数等以与c语言相同形式存放在.H头文件中的,就产生了iostream.h、string.h等类型的c++库文件(其中的函数和变量都是全局的)。

后来由于c++成为了一种标准,为了与c语言区分,就把c++库都放在了命名空间中,同时规定库文件不需要.H后缀,这样:

(1)以后产生的c++标准头文件(如stl)就没有.H后缀了。

(2)同时将已经存在的c++库文件(iostream.h、string.h)等也相应的用命名空间方式实现了(产生 iostream、string文件)

(3)而对于之前的已有的c库文件,都在其名字前加上了c,把他们封装成了位于std空间的文件

但是由于之前很多C++程序仍然调用的是.h的c++文件,为了兼容以前的程序,就保留了iostream.h、string.h等库文件。

那么可以知道:在编程时调用c语言库时,可以include .H文件,也可以调用使用了std的前缀为c的c++文件(不需要 using namespace std;)。在调用c++库时,98年之前的老的库文件既可以include .H 文件,也可以采用include+using namespace std方法。98之后的只有后者的方法了。


关于<string.h>、<string>、<cstring>的理解

<string.h>是c文件,主要处理的是char*类型的字符串。

<cstring>是c++文件,是把<string.h> 放入到了std空间中

<string>不是<string.h>的升级版本!其是c++实现的新的文件,定义了string类!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值