浅谈C与C++的区别

本文探讨了C与C++的主要区别,包括面向对象与面向过程的编程思想,类与结构体,关键字如`static`和`const`的差异,以及引用与指针的区别。C++引入了面向对象特性,如类、构造函数、析构函数等,同时拥有更严格的数据类型检查和内存管理。此外,C++中的`const`修饰符、静态成员变量和静态成员函数提供了更多灵活性。
摘要由CSDN通过智能技术生成

C与C++的区别

小编今天来分享一下在初接触C与C++后感受到的不同

面向对象和面向过程

1)C语言的面向过程

  面向过程的编程注重解决问题的步骤,往往都是将功能函数逐级实现后依次调用

2)C++的面向对象

  面向对象的编程注重谁(类)能解决某个问题,这个人具备什么样的特征(成员变量)和技能(成员函数)

类与结构体

  1、类是C++面向对象编程思想的产物,是一种数据类型,C语言/C++中均有结构体,而类是C++所独有的

  2、类的关键字为class、结构体的关键字为struct,二者的声明与定义都类似

  3、C++中的类有访问控制权限public、private、protected,而结构体中的成员函数与成员变量均默认为public属性。C语言中的结构体没有访问控制权限

C++中的类与C++中的结构体目前在小编看来只有在访问控制权限上有明显的区别

  4、编译器会为C++中的 类/结构体 自动生成四大成员函数:构造函数、析构函数、拷贝构造函数、赋值构造函数。而C语言中则没有这种机制

关键字

1)新的关键字

  C++有C语言不具备的某些关键字,例如class、private、public、protected、throw、try、catch、inline、template、explicit、mutable

2)bool类型的区别

  C++中bool、true、false是关键字,C++具有真正的布尔类型,true、false只占用一个字节

  C语言中的bool类型需要导入头文件#include <stdbool.h>才能使用

3)static类型的区别
  1、C语言与C++中static的相同点:

    ① 修饰全局变量时,使得该全局变量只能在声明的.cpp/.c文件中使用
    ② 修饰函数时,使得该函数只能在声明的.cpp/.c文件中使用
    ③ 修饰局部变量时,生命周期延长,存储位置改变,作用域范围不变

C++中的static有特殊的用法:静态成员变量 + 静态成员函数

  2、静态成员变量:

    ① static修饰类中的成员变量,使得该变量被该类创建的所有对象共有(相当于这个类的全局变量),本质是因为静态成员变量只创建了一份,存储在bss段或data段

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值