一、有默认参数的函数
1.在调用此类函数时,若实参个数少于形参个数,则剩余
形参使用默认值。
2.总之,在调用有默认参数的函数时,系统按从左到右的顺序将实参传递给形参。若实参的数目不足,剩余形参
将使用声明或定义中的默认值。
在设置函数形参的默认值时,要注意以下几点:
⑴ 必须保证在调用函数前将默认值的信息通知编译器
⑵ 可以对函数的所有形参均指定默认值。
⑶ 若只对一部分形参指定默认值,这些形参必须放在形参列表的最右端,否则出错。
⑷ 一个函数不能既作为重载函数,又有默认参数。
二、变量的引用
数据类型 &
引用名
=已有变量名;(&是引用描述符
)
int a=5;
int &
b
=a;
声明b是a的引用,即b是a的别名。
注意:系统不会为引用b重新分配存储单元,而是让a与b 共享同一个单元,它们具有同一地址因此,对b操作实际
上就是对a操作,反之亦然。
关于引用的几点简要说明:
⑴ 在声明引用时,必须将其初始化,而且引用的类型要与被引用变量的类型一致。
⑵ 引用一旦初始化后,不能再引用其它的变量。
⑶ 要正确区分声明引用与取地址操作
int
&b
=a; //声明引用
p=
&b
; //取地址
⑷ 可如下声明一个数组的引用
int a[10];
int (&
ra
)[10]=a;
⑸ 可如下声明一个指针的引用
int a=5;
int* p=&a;
int* &
rp
=p;
⑹ 可如下声明某个引用的引用
int a=5;
int &
b
=a;
int &
c
=b;
引用作为函数形参
例:交换两变量值
#include <iostream>
using namespace std;
void swap(int &a,int &b)
{
int t;
t=a;
a=b;
b=t;
}
int main()
{
int x,y;
cin>>x>>y;
swap(x,y);
cout<<x<<" "<<y<<endl;
return 0;
}
#include <iostream>
using namespace std;
void swap(int *p,int *q)
{
int t;
t=*p;
*p=*q;
*q=t;
}
int main()
{
int x,y;
int *p=&x,*q=&y;
cin>>x>>y;
swap(&x,&y);
cout<<*p<<" "<<*q<<endl;
return 0;
}
三、内置函数
inline
对于
功能简单且使用频繁
的函数,C++允许将其定义或声
明为内联函数,以提高运行效率。
inline
int max(int a, int b, int c); //定义
max
四、作用域运算符
::
double a=3.14; //全局变量
a
int main()
{
int a=1, b=3; //局部变量
a
、
b
cout<<a<<endl;
cout<<
::a
<<endl;
//
输出
3.14
return 0;
}
引用作为函数形参
引用作为函数形参