C++复习之函数调用
2017-03-19 本文已影响0人
冰鋒
1. 函数调用与内联函数
inline int getmin(a,b){}
内联函数在先期联編中,已经代码展开。但是并不是所用的都适用,简单的几行,经常被调用的代码可以使用内联函数。
函数调用是动态调用,中断机制,函数返回,恢复现场,桢栈结构。所需要的参数都是压栈进入函数的运行栈中,值传递。但是大型的数组,或者修改实参的参数,需要进行引用或者指针传参。
函数申明必须在前,防止编译错误。多文件操作,要进行引用,利用宏机制防止多次编译。
2.引用参数
适用情况:
1.引用参数能够修改实参;
2.能够向主调函数传输额外的参数。
3.向函数传递大型类对象。若希望不修改实参,只是避免大型拷贝的时候,可以加const 。
引用的特征:
传递地址,而且相当于重名名,指向同一块内存。
引用必须初始化一个指向对象。而指针却可以指向空对象,或不指向。
3.指针参数
适用情况:
在内部指向其他对象的情况下,不能使用引用,必须是指针。
4.抽象类型参数
容器类型其实是类类型,可以适用引用或指针防止大型的拷贝。
5. 缺省参数:
在声明时指定缺省值,调用的时候缺省值在尾部。
6.省略号参数
无法列出所有的参数时。
7.函数返回值
默认是值传递返回,非左值不可修改。
引用返回时,要注意防止返回局部对象的引用。
尽量不要使用全局参数进行函数间的通信,不好定位问题。推荐使用参数列表或者返回值。
8.extern 作用
链接指示符extern "C"
extern "C" { void min(); void max();}
外部声明
9.命令行执行
prog -d -o file data
参数是从1开始
-d 打开调试
-o 表示输出