C++入门

默认值参数

在函数声明或定义的时候,给定参数默认值,如果参数传递的时候不给该形参传值,则会按照默认值传参。

函数参数的默认值是在编译期生成指令的时候,直接生成入参指令,函数参数的默认值只能传递常量。
函数的默认值参数只能从右向左赋值,不能跳过。
函数的默认值参数在同一作用域中只能赋值一次,不能重复赋值。
因为函数参数的默认值是在编译期时期带入的,所以函数参数的默认值只在本文件中生效。
内联函数

在release版本中调用内联函数,该函数会在调用点展开(编译时期展开)。
在debug版本中调用内联函数和正常函数的调用方法一致。
由于内联函数在编译期展开,而编译期无法获取变量的值,递归函数的终止条件一定需要变量的值参与,所以递归函数不可能被处理为内联函数。
inline函数只是对系统的建议,建议系统将其视为内联函数。
inline函数在debug版本中生成的是局部符号(local),如果被处理为内联函数后在release版本不生成符号,直接在调用点展开。
符号

所有的数据都会生成符号
指令中只有函数名会处理为符号
全局符号(global)所有的文件只要引用声明就可以使用。
局部符号(local)只有本文件可见。
指针和数组名的区别

数组 数组名 常量 39323987

指针 变量

常量

在编译时期将常量的值直接写入到常量的使用点
常量的初始化必须使用常量,使用变量就会退化为常变量

const和指针

const修饰的值不能成为左值,不能泄露常量的地址给非常量的指针
const修饰的类型是离它最近的第一个成型的类型,其余是它修饰的内容
如果const修饰的内容不包括指针,则无法参与类型
引用

引用的底层是一个指针
在使用到引用的地方,编译期会自动替换成为底层指针的解引用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼泣依旧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值