C++ Primer笔记(一)函数部分

 1.指针形参

   函数的形参是指针,此时是复制实参指针。也就是说要是在函数体内部改变形参的指针值对实参没有影响,但是要是改变形参指针所指向的值那么对应的实参所指向值也改变。

  

如需要保护指针所指向的值,则需将形参定义成指向const对象的指针

2.const形参:

   void  fcn(const int i ){}

   由于实参仍然是以副本的形式传递,因此传递给fcn的既可以是const对象也可以是非const对象。

3.复制实参的局限性——也就是使用引用的情况

   ——当需要在函数体内部修改实参的值时;

   ——当需要以大型的对象作为形参时,因为复制对象所付出的时间和存储的代价大,如string类型等

   ——当形参的对象无法复制,多为对象的拷贝构造函数是私有的情况

4.引用形参

非const引用形参只能与完全类型的非const对象关联,例如对形参是string&类型就不能将常量的字符串赋给它.

既可以将const对象传递给非const形参,也可以将非const对象传递给const对象。但是形参与const形参的等价性仅适用于非引用形参。

5.通过引用传递数组

void printValue(int (&arr)[10]){...}

编译器检查数组实参的大小与形参的大小是否匹配,而对于其他类型的数组形参编译器不予检查。

6.返回引用

当函数返回引用类型时,没有复制返回值。返回的是对象本身。理解返回引用至关重要的是千万不能返回局部变量的引用。因为在函数调用结束后局部变量不存在的,引用所指向的内存不明。

7.默认实参

如果有一个形参具有默认实参,那么它后面的形参都得必须是默认实参的。既可以在函数声明也可以在函数定义的地方指定默认实参。但是在一个文件中,只能为一个形参指定默认实参一次。要么在声明的地方,要么是定义的地方。

8.内联函数

调用函数比求解表达式要慢得多的。所以有内联。在函数返回类型的前面加上inline即可使函数成为内联函数。内联机制适用于优化小的、只有几行的而且经常被调用的函数。内联函数应该在头文件中定义的,这不同于其他函数。

9.const成员函数的引入

const成员函数引入的原因是每个对象都隐含一个this的指针,指向自己,可以通过这个指针修改对象的成员变量。用const修饰的成员函数是常量成员函数,它不能修改调用该函数的对象,只能读取而不能修改,起到保护的作用。

10.重载函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值