引用:是修辞手法的一种,援用名人的话,或名人的事、物、诗文、典故、寓言、成语、俗语、格言、谚语等,来支持作者的立场,以达到证明和加强自己所说的理论,让文章的内容更为充实[1]。
--维基百科
在C++中,引用即代表了取别名,它是一个已经存在的对象的另一种称呼。就比如你的某个朋友小明,你有时候叫他狗蛋,有时候叫他Henti,有时候叫他爸爸,小明一直都是小明,只不过我们对他的称呼变了。这就是引用所代表的意思。
(引用变量是一个别名)
(引用变量并不分配独立的内存空间,它与目标变量共用其内存空间)
我经常把小明喊做老狗,喊他来打游戏,每次他都跑得飞快,毕竟名字什么的,认得出来就好了。
(一旦引用成功,就可以使用该引用名称或变量名称来指向变量)
理所当然地,当你给小明起外号的时候,你肯定得有一个能起得起外号的朋友,不然你就是在无中生有,暗渡陈仓。。。干些引用都不同意的事。
(不存在空引用,引用必须连接到一块合法的内存)
为了避免混淆,“一般”我给小明起的那些外号我都不会给别人用,(ps:除非有人拿枪指着我说“指针万岁”)毕竟他可是我的小明啊~
(引用被初始化为一个对象,就不能被指向到另一个对象,指针可以在任何时候指向到另一个对象)
(特殊的,如果引用是作为函数的参数或返回值,那么也可以不提供初值。)
我给小明起外号的话一定很积极,第一时间一定给他起一个,当然,如果那个高喊指针万岁的怪人又来的话,那我听他的,随时随地都可。
( 引用必须在创建时被初始化。指针可以在任何时间被初始化。)
int i = 1024;
int &r = i;
double s = 4201;
double &d= s;
第一个声明可读作:“r是一个初始化为i的整型引用。”
第二个声明可读作:“d是一个初始化为s的double型引用。”
作参数
引用在函数中作为参数时可以起到“改变传入值”这一作用,它的作用是双向的。
作返回值
double A[] = { 1.2, 2.3 , 4.5 , 6.7}
double &B(int i)
{
return vals[i];
}
int main()
{
B(2) = 9.8; //将A[2]的值改为了9.8,原为4.5
B(0) = 0.3;//将A[0]的值改为了0.3,原为1.2
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。