C+++初学者指南+第六篇(6)

转载请标明出处:http://blog.csdn.net/zhangxingping

必备技能6.6:单独的引用
    尽管C++中引入引用的主要目的是为了支持引用参数的传递方式和函数返回引用,但是我们同样可以声明单独的引用变量。但是必须说明,这种非参数的单独引用很少被使用。这是因为这种单独的引用会破坏程序的结构,让人容易产生混淆。因此,我们在这里也只是简单介绍一下单独引用。
    单独的引用是必须指向某些对象的。因此,单独的引用变量必须在声明的时候就进行初始化。通常情况下,这就意味着,它会被初始化为之前声明的变量的地址。引用变量一旦被初始化之后,就可以出现在任何它所引用的变量可以出现的地方。实际上,两者之间是没有区别的。例如下面的程序。

//使用单独的引用
#include <iostream>
using namespace std;
int main()
{
    int j,k;
    int &i = j; //单独的引用
    j = 10;
    cout << j << " " << i;
    k =121;
    i = k; //把k的值赋值给j,而不是k的地址
    cout << "\n" << j; //将输出
    return 0;
}

程序的输出如下:
10 10
121
引用变量指向的地址是固定的,不能被改变的。因此,当计算语句
i = k;
的值的时候,是把k的值通过引用变量i赋值给j的,而不是k的地址。
        正如前面描述的那样,使用单独的引用变量并不是什么好主意,因为使用单独的引用变量并不是必须的,而且它会使得程序变得很混乱。同一个变量有两个名字的确是一件很容易让人混淆的事情。

使用引用时的一些限制
    使用引用的时候需要注意下面的限制:
    不能对引用引用变量。
    不能创建引用变量的数组。
    不能创建指向引用变量的指针。也就是说不能对引用变量使用&运算符。
练习:
    1. 函数是否可以返回引用?
    2. 什么是单独的引用?
    3. 我们是否可以创建引用的引用?

你可能感兴趣的:(C++,c)