Cxx Primer-chap6

  1. 什么是函数:A function is a block of code with a name.在这里插入图片描述
  2. 函数调用和返回:在这里插入图片描述,实例:在这里插入图片描述
  3. 名字有作用域(visible),对象有生命周期(exist):
    在这里插入图片描述,lifetime取决于object在哪定义和如何定义:在这里插入图片描述
  4. 区分default initialized和value initialized:在这里插入图片描述,简单讲:在这里插入图片描述而value initialization主要用于初始化容器中的元素的:在这里插入图片描述
  5. 函数声明=函数签名=函数原型,其应该放在头文件:在这里插入图片描述
  6. call by reference 和 call by value:在这里插入图片描述,似乎call by pointer应该单拎出来,但是它就是call by value,因为它满足When the argument value is copied, the parameter and argument are independent objects.,只不过能间接访问指向的对象而已:在这里插入图片描述
  7. 使用call by reference能够防止argument拷贝给parameters的开销:在这里插入图片描述
  8. low-level const不可被省略,而top-level const可以被省略:在这里插入图片描述
  9. 对于reference to const 的参数能用则用:在这里插入图片描述
  10. 当函数参数为数组时,需要注意的点:在这里插入图片描述,数组无法被拷贝,同时当其作为实参时,数组名等于指向第一个元素的指针。所以我们不知道数组的下标范围,这需要我们提供额外的信息:第一种方案:类似于字符串存储于字符数组那样,使用结束标记。第二种方案:使用library提供的begin()end()方法确定数组边界。第三种方案使用额外的数组大小作为参数。
  11. 变长参数列表的函数:在这里插入图片描述,其中第一种方法是initializer_list Parameters在这里插入图片描述
  12. 不要使用返回局部对象的引用或指针,因为局部对象的lifetime在函数返回时结束:在这里插入图片描述
  13. 定义一个返回数组的函数:在这里插入图片描述
  14. 花哨的函数声明方式:在这里插入图片描述
  15. 函数重载与const参数:在这里插入图片描述
  16. 函数匹配(重载函数解析):在这里插入图片描述
  17. default arguments的使用,为了使用这种特性,我们需要保证很少用默认参数的parameters放在前面:在这里插入图片描述
  18. 声明一个函数为inline时,机器可能会将其在编译时展开成表达式,从而减少函数调用时的运行开销:在这里插入图片描述
  19. constexpr关键字:在这里插入图片描述,有些抽象:在这里插入图片描述
  20. assert是先于编译器处理的预处理器macro,它受预处理器变量NDEBUG`的影响:在这里插入图片描述
  21. 函数匹配过程中涉及的候选函数和可行函数:在这里插入图片描述,尽可能的进行最佳匹配:在这里插入图片描述
  22. 指向函数的指针:在这里插入图片描述,函数指针的使用:在这里插入图片描述
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ocodotial

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

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

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

打赏作者

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

抵扣说明:

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

余额充值