C++基础(二)

5、inline函数(关键字) 在函数定义处添加
①编译阶段,此函数将不生成符号
②编译阶段,直接在调用点展开
③该函数本文件可见
内联函数与宏的区别:
①处理时机不同,宏在预编译阶段直接文本替换 内联函数是在函数调用点将函数展开
②inline 代码展开; 宏 文本替换,并无安全检查和类型检查
③内联函数时一种更安全的宏
inline本质上是一种以空间换时间的做法
使用时机:当函数开栈+清栈开销 > 执行开销 时使用内联函数(即适用于函数体较小的的函数)
6、引用 (取别名) 类型+& =引用
①引用必须初始化(底层以指针的方式实现,使用时系统自带解引用)
②引用不能改变
③引用不能引用不能取地址的数据
④引用不能引用变量所存放的值,只能访问引用变量所有引用的内存单元
常引用可以引用不能去地址的数据(不能取地址的放到临时量,常引用引用临时量)
7、new/delete
malloc()和free()是一组函数 malloc函数的所有权交给了栈上的变量 free函数在malloc时内核保存了
该地址和字节数
new/delete 是一组关键字

malloc 和new的区别

①new是关键字,malloc是函数
②new不用传申请内存的大小 malloc需要传大小
③new返回值类型安全 malloc的返回值不安全
④new申请失败后,抛出异常 malloc失败后返回NULL
⑤new不仅能开辟内存,还可以初始化 malloc只能开辟内存
⑥new开辟数组[]表示数组大小 malloc用sizeof_t接受总大小
⑦new申请的空间在自由储存区 malloc申请的空间在堆上
8、名字空间作用域 namespace 作用:解决标识符命名冲突
C:全局作用域 局部作用域
C++:名字空间作用域 namespace 类作用域 calss

namespace  CY{…}
①调用时,用CY::+函数名
②using namespace CY    …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值