C到C++的扩展3

内联函数
inline:修饰的函数为内联函数、内嵌函数,改变了函数调用的处理过程!!!!(将函数体里的语句内嵌到函数的调用地方!!)
作用:以内存空间换运行时间,提高运行效率
1.时间(编译时间)换空间(内存空间):消耗了更多编译/运行时间,换取占用更小的内存(宏函数)
2.空间(内存空间)换时间(运行时间):占用更多的内存空间,换取运行时间(inline内联函数)

  1. 宏函数:省去函数传参、返回、释放等一系列操作
    处理阶段:预处理处理
    处理过程:傻瓜式替换(没有空间分配过程) 不做语法检查!!!不安全
  2. 自定义函数:形参需要分配空间
    处理阶段:编译时检查语法,运行时函数进行栈进栈出
    处理过程:通过函数名找到函数的入口地址;给形参分配空间;传值;执行函数体的语句;函数返回;释放空间
    分析:函数调用、返回!!!

在这里插入图片描述
可大大减少程序运行时间
升级:编译器决定是否内联处理
函数的默认参数
如果一个参数为默认参数,那么它右边的所有参数必须为默认参数
函数的参数占位符
预留函数接口
函数重载:解决的是函数名命名的可读性问题!!
函数重载的条件:函数形参的个数不同;函数个数相同类型不同;函数形参个数相同,函数类型不同顺序不同;
函数名相同,函数形参的个数、类型、顺序不同!!!!
注意事项:函数返回值不能作为重载条件;函数默认参数会影响重载条件
struct的加强大括号外面要加分号
升级:
1.定义变量
2.可以保存变量和函数
3.用class(类)替换struct(结构体)
4.引入了访问权限修饰符public,protected,private
5.实现继承和多态
public(公用:可以在外部直接访问) private protected
private(私有:只能在struct结构体内部访问使用,或者内部函数直接访问,不能在外部直接访问)
protected:(保护:只能在struct结构体内部访问使用,或者内部函数直接访问,不能在外部直接访问)
访问权限的好处:隐藏了数据(封装)
如何对private/protected成员设置值?提供set/get方法
class VS struct的区别
1.命名不同(对象 变量)(方法 函数) (属性 变量)
2.默认访问权限不同(class默认访问权限是private,struct默认访问权限是public)
注意事项:
程序代码结构1:在类里定义和实现函数;这些方法有可能会以inline处理
程序结构代码2:.h类的定义声明,不在类内去实现方法(尽量在类外处理),编译器不会将方法inline处理
编码规范:.h文件定义类(防止头文件重复包含,加一个pragma one).cpp文件实现类的成员函数
string类
string实际上封装了char*,并提供很多功能使用;
迭代器(指针)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值