1.常量引用主要用在函数的形参,由其是类的拷贝、复制构造函数。
2.引用作为函数形参,不产生新的变量,可以减少实参传递的开销。
3.从函数中返回一个引用,必须像从函数中返回一个指针一样对待,将对函数外的参数产生改变。
4.不能返回局部变量的引用。
5.函数当左值,必须返回引用。
指针与引用做函数参数的比较:
void swap1(int a, int b)
{
int c = a;
a = b;
b = c;
}
void swap2(int* a, int* b)
{
int c = *a;
*a = *b;
*b = c;
}
void swap3(int& a, int& b)
{
int c = a;
a = b;
b = c;
}
int main()
{
int a = 1, b = 2;
swap1(a, b);
std::cout << "a= " << a << "b= " << b << std::endl;//a,b值不交换
a = 1, b = 2;
swap2(&a,&b);
std::cout << "a= " << a << "b= " << b << std::endl;//a,b值交换
a = 1, b = 2;
swap3(a, b);
std::cout << "a= " << a << "b= " << b << std::endl;//a,b值交换
system("pause");
return 0;
}