【 C++ 】C和C++区别

1、C语言

           C语言是面向过程的语言:面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步一步的实现,使用的时候一个个的依次调用就可以了。面向过程就是自顶向下的编程。

            优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。

            缺点:没有面向对象易维护,易复用、易扩展。

2、C++

           C++是面向对象的语言:面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。面向对象就是高度实物抽象化。

            优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护。

             缺点:性能比面向过程低。

3、C和C++区别

          3.1、文件名的后缀

                   C++的源文件使用 .cpp 文件后缀。C语言的源文件使用 .c 文件后缀。

          3.2、返回值

                   如果不写返回值,C语言中可以这样做,会返回一个 int 类型的值,但在C++中,无法这样做,会直接编译失败,因此当函数没有返回值的时候,需要显示的给出 void 的返回值。

          3.3、参数列表

                    无参数列表的时候,在C语言中可以给任意多个参数都可以接受,但在C++中,如果没有参数列表,表示该函数不接受任何返回参数。

          3.4、缺省参数

                    声明或定义函数时为函数的参数指定一个默认值,在调用函数时,如果没有指定实参则使用默认值,否则就会使用传进去的实参(C++支持)。

          3.5、函数重载

                    C++允许在同一个作用域中声明几个功能类似的同名函数,且这些同名函数的形参列表必须不同,常用来处理实现功能相似,数据类型不同的问题。

          3.6、引用

                   C语言对于函数传参有两种方法:值传递和地址传递。而在C++中除了指针,还有引用,引用时给已经存在的变量取了一个别名,两者一定为同种类型,编译器不会给引用变量新开辟内存空间,其与引用的变量共用一块空间。

指针引用
可以不初始化必须初始化
可以指向其他变量不能指向其他变量
存在NULL指针没有NULL引用
有多级指针没有多级引用
自增引变指向自增引变变量内容

          3.7、命名空间与输入输出

                   由于C++存在大量的变量、函数和类,他们的名称都是存在于全局命名空间中,很容易形成命名冲突,因此引入命名空间的概念,其定义了一个范围,在命名空间中定义的东西只在命名空间范围内有效。

                   std是标准命名空间,在此命名空间下,C++可使用不同于C语言的输入输出方法:cout为输出流对象,cin为输入流对像,<<,>>分别为输入输出操作符。

          3.8、关键字

                   C99有32个关键字,C++有63个关键字。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值