美文网首页
C++程序设计学习笔记:1 从C走进C++ 引用

C++程序设计学习笔记:1 从C走进C++ 引用

作者: louyang | 来源:发表于2017-11-03 08:42 被阅读12次

在C++语言中,“引用”相当于给变量起了一个别名。C语言并没有引用这个概念,C语言用指针实现类似的功能。

引用的语法:

类型 & 引用名 = 某变量名;

例如:

int n = 4;
int & r = n; 

在上面的例子中,r 作为 n 的一个引用,相当于 n 有了一个新的名字 r 。换句话说,r 和 n 是等价的。

例如:

#include <iostream>

using namespace std;

int main ()
{
   int n = 7;
   int & r = n;

   r = 4;
   cout << r << endl;
   cout << n << endl;

   n = 5;
   cout << r << endl;
}

编译,运行:

# g++ a.cc && ./a.out
4
4
5

从这个例子中,我们可以看出,变量 n 和它的引用 r 是一回儿事。

使用应用需要注意3点事项:
1 定义引用时,一定要将其初始化为某个变量的引用;
2 一旦初始化后,它就一直引用该变量,不会再引用别的变量了,从一而终。
3 只能引用变量,不能引用常量和表达式。

再例如:

#include <iostream>

using namespace std;

int main ()
{
   int a = 7, b = 9;
   int & r1 = a;
   int & r2 = r1;   // r2也引用了a

   r2 = 10;         // 等于 a = 10;
   cout << a << endl;

   r1 = b;        // r1 没引用 b,此语句等于a=b;
   cout << a << endl;
}

编译,运行:

# g++ a.cc && ./a.out
10
9

再来看一下,常引用。其特点是,不能通过常引用,修改其引用变量的内容。

常引用的语法:

const 类型 & 引用名 = 某变量名;

例如:

int n = 100;
const int & r = n;
r = 200;    // 编译错
n = 300;    // 没问题

课程录像

北京大学郭炜/刘家瑛老师,C++程序设计课程录像

相关文章

网友评论

      本文标题:C++程序设计学习笔记:1 从C走进C++ 引用

      本文链接:https://www.haomeiwen.com/subject/vcmzpxtx.html