当形参为引用时
当形参为引用时,则函数按引用传递,则形参直接指向形参而不会创建临时变量。会提高效率。
但是如果实参与引用参数不匹配,或者实参不是变量时,并且仅当形参为const引用。c++将生成临时变量。否则将会出现警告错误。
double refcube(const double &ra)
{
return ra*ra*ra
}
long edge=5L;
double c1=refcube(edge);
double c2=refcube(7.0);
第一个函数调用edge不是double类型,所以形参不会指向edge,函数会创建形参复制edge内容。
第二个函数调用7.0是double类型,但是不是变量,所以函数也会创建形参复制常量的内容。
如果函数形参不是声明const类型,则上述会出现警告或者错误