C++ Primer Plus笔记: 2024.09.07

1.编译过程的最终产品是可执行程序—— 由一组机器指令组成。运行程序时,操作系统将这些指令载入计算机内存中,因此每条指令都有特定的内存地址,计算机随后就会逐步执行这些指令。有时会跳过一些指令,向前向后跳到特定地址。

2.常规函数: 执行到函数调用指令时,程序将在函数调用后立即存储该函数的内存地址。并将函数参数复制到堆栈(为此保留的内存块),跳到标记函数起点的内存单元,执行函数代码(也许还需要将返回值放入寄存器中),然后跳回到地址被保存的指令处。
(这个过程就类似于看书的时候停下来看脚注,看完脚注后再返回原来的地方)

3.内联函数: 编译器使用相应的函数代码替换函数调用,程序无需跳到另一个地方执行代码,再跳回来。这样运行速度比常规函数稍快,但是要占用更多内存。

4.内联函数不能递归,如果函数占用多行,则将其最为内联函数就不合适

5.如果使用C语言的宏执行了类似函数的功能,则应该转换成C++的内联函数。

6.引用变量的主要用途是用作函数的形参,通过将引用作为形参,函数将使用原始数据而不是副本。

7.引用在声明的同时一定要初始化,不然就会:

firstref.cpp: In function ‘int main()’:
firstref.cpp:7:8: error: ‘rodents’ declared as reference but not initialized
  int & rodents ;
        ^~~~~~~

8.不能通过赋值设置引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值