c++基础复习

c++的引用

概念:

1.对变量取别名,不分配空间,引用长度等于其引用对象的长度。

2.相当于常指针,在定义时必须初始化。

引用作返回值:

1.可以用普通变量去接收引用返回值

2.用一个引用去接收引用返回值

3.做左值使用。

指针引用:

指针引用做形参去接收一个指针,在函数开辟的新的栈帧对实参指针取别名。

函数调用结束时释放指针引用,而不影响指针本身。

常引用:

int a = 1;

const int &b = a;//不能通过引用去修改a的值。

内联函数

概念:

 在函数调用处内嵌函数体的函数

意义:

节省了函数调用时在新的栈帧处入栈和出栈的操作

特点:

1.不能存在循环语句

2.不能存在条件判断语句

3.函数体不能过大

4.不能对函数体取地址(没有开辟新的栈帧,没有函数入口地址)

5.内联函数声明必须在调用之前

总结:内联函数省去了函数调用时入栈,出栈的等开销 , 所以当函数体的开销远大于函数的入栈,出栈,跳转 等开销时,内联函数就变得没有意义。

函数重载 

概念:使用同一函数名,实现一类函数功能。

重载条件:

1.函数名相同

2.函数的参数,类型, 个数,顺序不同

3.和返回值类型无关。

重载的二义性:

设定默认参数产生。

c++动态内存分配

malloc与new区别:

1. 存储位置不同,new在自由储存区,自由存储是C++中通过new与delete动态分配和释放对象的抽象概念。自由存储区不仅可以是堆,还可以是静态存储区

2.new不需要手动计算创建字节

3.new返回对象类型指针

4.new在分配空间时调用构造函数

5.new内部封装了malloc,实际也是通过malloc分配空间

6.new分配空间失败返回bad_alloc异常,malloc返回NULL

7.new是运算符,malloc是c函数

8.new分配空间可以初始化。

类和对象 

优点:

1.封装:结构清晰,标志化,规范化,可读性强

2.继承:易于扩展,改动小。

3.多态:依赖于抽象,具体的实现了统一的接口。

缺点:

相比c语言运行效率下级。

类的访问权限

public:公有属性,类内与类外都可以访问

protected:保护属性,在继承关系中,子类可以访问

private:只能在类的内部访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值