1.什么是引用
int a=10;
int &b=a; //b是a的引用
2.引用的特点
1>一个变量可取多个别名3.几种特殊的引用
1>引用一个引用变量
2>const引用
void Test ()
{
int d1 = 4;
const int & d2 = d1;
d1 = 5; // d1改变 d2的值也会改变。
//d2 = 6; // 错误。不能给常量(不能被修改的量)赋值
} 有且只有被const修饰的引用可以引用一个常量void test()
{
const int & d= 5; // 常量具有常性,只有常引用可以引用常量
} 被const 修饰的 int类型的引用可以引用一个double类型的数据,但是会丢失数据。如果不用const修饰,则编译器会报错。void test()
{
double d7 = 1.1;
//int& d8 = d7; //错误,d7是double类型,d8是int,d7赋值给 d8时要生成一个临时变量,也就是说d8引用的是这个带有常性的临时变量,所以不能赋值。
const int& d9 = d7;
}
3>引用作为参数
void Swap (int& left, int& right)
{
int temp = left;
right = left ;
left = temp ;
} //通过引用改掉了传进来的实参值4>引用作为返回值
<span style="font-weight: normal;"><span style="font-size:10px;">#include<iostream>
using namespace std;
int& Add(int d1, int d2)
{
int ret = d1 + d2;
return ret;
}
void main()
{
int a = 3, b = 4;
int c = Add(a, b);
cout << "c:" << c << endl; //结果虽然正确,实际上已经发生了错误。
}</span></span>
总结:
<span style="font-weight: normal;"><span style="font-size:10px;">#include<iostream>
using namespace std;
int& Add(int d1, int d2)
{
int ret = d1 + d2;
return ret;
}
void main()
{
int a = 3, b = 4;
int c = Add(a, b);
cout << "c:" << c << endl; //结果虽然正确,实际上已经发生了错误。
}</span></span>
指针比引用更灵活,但是也更危险。
1068



被折叠的 条评论
为什么被折叠?



