C++下关于函数调用的一些要点(待补充)

最近在准备面试,从测试转开发的确是有些困难,所以也在狂补C++。总结了一些函数调用的要点.

 

一.参数方面:

1. c++允许实参个数小于形参个数,在没有指明该实参的情况下会调用形参的缺省值/默认值;

2. 某个形参如果给出了默认值,那它之后的形参都必须给出默认值;

3. 形参的默认值要在函数声明中给出,而不是在定义中给出。

 

理解:

1. 图方便;

2. 如果一个形参没有给出对应的实参,那是不是之后的形参都不能给出实参?否则编译器怎么知道哪个实参对应哪个形参?

3. 方便修改吧。

 

 

二. 引用与指针:

引用时c++引入的新概念,在函数参数中使用时,可以理解成他就是实参的一个别名,修改形参就是修改实参。引用与传址指针有相似之处,但是还是有些区别:

1. 引用必须有原对象,不能定义没有被引用对象的引用,所以不会存在像指针这样没有赋值就被使用的危险性;

2. 引用一旦定义就不能被修改,而指针如果没有被指定const则可以修改它指向的内容。

 

理解:

1. 即可以定义TCHAR *p而p可以不指向任何对象,这样在之后使用p的时候会出现不可知的问题;SEP也出现过指针没被初始化然后就使用而造成的BUG; 所以自己在写程序时如果要使用指针最好先对if(!p)进行处理。

2. 即不可以TCHAR &r = R1; 之后又TCHAR &r = R2。

3. 使用引用和指针的特别情况--参考了More effective C++-- 在重载运算符时最好使用引用;如果需要指向不同的对象或者不指向任何对象,则必须使用指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值