引用

2023/07/26 C++ 共 511 字,约 2 分钟

引用

通过:

int &ra = a;

创建一个a的引用。

引用必须被初始化

否则编译报错。

int &ra;               //错误:‘ra2’声明为引用却未被初始化

可以引用一个对象,也可以引用一个引用

int &ra = a;
int &raa = ra;

最终,ra和raa引用都代表了a对象。

引用和值传递

采用引用和指针的方法传递参数,不会像值传递时对整个要传递的对象进行复制,可以提高运行效率。 比如,当我们只想打印出vector中的每个元素时,就可以采用传址的方式。

void display(const vector<int> &vec)
{
    for(int i = 0; i < vec.size(); i++)
    {
        cout << vec[i] << ' ';
        cout << endl;
    }
}

采用reference to const vector,明确的告诉读者,我们采用传址的方式传递vec,为的是避免复制操作,并不是为了改变其中的值。

引用和指针

引用和指针除了用法不同(指针需要提领),更为重要的差异是,引用必然固定的代表某个对象,所以不需要进程判0;而指针可能不指向一个对象,如果指针指向0,对其提领会产生程序崩溃。

文档信息

Search

    Table of Contents