美文网首页
C++ - 引用的概念

C++ - 引用的概念

作者: Mitchell | 来源:发表于2016-01-12 16:39 被阅读61次
  • 下面的写法定义了一个引用,并将其初始化为引用某个变量。
    类型名 & 引用名 = 某变量名;
int n = 4;
int &r = n;//r 引用了 n,r 的类型是 int&
  • 某个变量的应用,等价于这个变量,相当于该变量的一个别名。
  • For example
int n = 7;
int & r = n;
r = 4;
cout << r;//输出 4
cout << n;//输出 4
n = 5;
cout << r; //输出5

注意:

  • 定义引用时一定要将其初始化成引用某个变量
  • 初始化之后,它一直引用该变量,不会再引用别的变量了。
  • 引用只能引用变量,不能引用常量和表达式。
  • For example
double a = 4,b = 5;
double & r1 = a;
double r2 = r1;
r2 = 10;
cout<<a <<endl;//10
r1 = b;
cout<<a <<endl;//5

交换两个整形变量值的函数

//C 语言中的写法,使用指针,写法比较丑陋
void swap(int *a,int *b){
  int tmp;
tmp = *a;*a = *b;*b = tmp;
}
int n1,n2;
swap(&n1,&n2);
//C++,使用引用,比较清晰
void swap(int&a,int&b){
  int tmp;
tmp = a;a= b;b = tmp;
}
int n1,n2;
swap(n1,n2);

引用作为函数的返回值

int n = 4;
int & SetValue(){return n;}
int main()
{
    SetValue() = 40;
    cout<<n;
    return 0 ;
}//返回一个全局变量 n 的引用,对这个引用进行新的赋值为40,那么打印结果就是40.

常引用

  • 定义引用时,前面加 const 关键字,即为“常引用”
    int n ;
    const int & r = n;
    r 的类型是 const int &

不能通过常引用去修改其应用的内容

int n =100;
const int & r = n;
r = 200;//报错(常引用的内容不能被修改,但是不意味着常引用的内容不能被修改。)
n = 300;//没问题

常引用和非常引用的转换

count T &和 T&是不同的类型!!!

  • T & 类型的引用或者 T 类型的变量可以用来初始化 const T & 类型的引用。
  • count T 类型的常变量和 const T & 类型的引用则不能用来初始化 T & 类型的引用,除非进行强制类型转换。

相关文章

  • C++ - 引用的概念

    下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名; 某个变量的应用,等价于这...

  • c++ 引用

    概念 c++中,变量的引用就是变量的别名,因此引用(reference)又成为别名(alias)。 变量的引用 i...

  • Reference 引用

    c++之 引用&参数传递 引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(r...

  • C++中的引用和指针

    C++ 引用与指针的比较 引用是 C++ 中的概念,初学者容易把引用和指针混淆一起。 以下程序中,n 是m的一个引...

  • * 与 & 区别

    基本概念 C++ 是 C 语言的超集。C++ 有一种C 语言不存在的变量类型 --- 引用变量(简成引用)。 指针...

  • 003-01-引用专题

    普通引用 概念 引用可以看作一个已定义变量的别名 引用的语法:Type& name = var; 属于C++编译器...

  • JNI基础 -- C++基础知识(命名空间)

    命名空间 因为在C++中没有包的概念,为了解决重名问题,就有了命名空间的概念,用法很简单: 引用和指针 引用更为规...

  • c++函数引用参数

    C++当中有一个概念叫做引用,引用是对C语言的一个扩展,引用相当于是变量的别名。之所以增加引用,主要是为了利用引用...

  • C++中的引用

    在C++中新增加了引用的概念引用可以看做是一个已定义变量的别名引用的语法: Type& name = var; t...

  • 详解C++指针和引用

    C++是在C语言的基础上发展来的。C++除了有C语言的指针外,还增加一个新的概念——引用,初学者容易把引用和指针混...

网友评论

      本文标题:C++ - 引用的概念

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