c++与c比较

1.c和c++的不同。

(1)机制方面:c是面向过程,c++是面向对象。

(2)适用方向:c适合要求代码体积小,效率高的场景,c++适合复杂度高,更上层的。

(3)名称:c++是c的增强,对c具有包容性。

2.引用与指针的区别。

引用:给变量起别名,不需要重新开辟空间,对引用的操作就是对目标变量的操作,引用只要一级,且不能指向null。

指针:指通过某个指针变量指向一个对象后,需要重新开辟新空间,对他所指的变量间接操作,可以有很多级,且可以指向null,不用初始化。

3.引用注意点。

(1)必须初始化;

(2)引用也可以有引用

(3)引用一旦初始化以后,便不能更改。

3.1const引用介绍

const+变量=常量;

const作用是变量常量化。

4.函数重载(二进制文件的命令:nm a.out)

4.1函数重载是指在同一空间下,即同一作用域,成员函数可以同名,区别在于要调用的参数个数,与返回值无关。

4.2原理:是编译器对函数名进行了重命名,最终的函数名=函数名+参数。

5extern “C”作用:主要是为了能够正确实现c++代码调用和其他c语言代码。

6.c++中的结构体和c++中的类的区别。

c++的结构体默认的访问限定符是public,c++的类磨人的访问限定符是private。

7.封装:即隐藏对象的属性和实现细节,仅对外公开接口。

8.this指针:指向类中成员函数的第一个形参,指向的当前类对象,类名*const 

this。

9.构造函数(只能有一个)

9.1定义:函数名和类名相同,参数可有可无,可以重载,没有返回值。

9.2默认构造函数:系统提供;自定义无参函数;自定义有参函数。

10.析构函数

10.1定义:~类名=函数名,没有参数,没有返回值。

11.有了 malloc/free 为什么还要 new/delete?

malloc 与 free 是 C++/C 语言的标准库函数,new/delete 是 C++的运算符。 
对于非内部数据类型的对象而言,光用 maloc/free 无法满足动态对象的要求,对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。
由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于 malloc/free。

12.拷贝构造函数:是通过一个已有的对象给新的实例化对象初始化。

12.1定义:函数名与类名相同,参数类型:const类名&+参数名,无返回值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值