码迷,mamicode.com
首页 > 其他好文 > 详细

OOP 1.1 引用

时间:2018-02-11 14:27:44      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:关系   return   一个   void   ++   illegal   oid   tmp   返回   

1.1 引用

1、语法:类型名&引用名=某变量名 e.g. int &b=a;

  • 定义:引用则等价这个变量
  • 引用名的类型是:类型 &
  • 注意事项:
    • ①定义引用时,一定要将其初始化成引用某个变量
    • ②初始化后,它就一直引用该变量,不会再引用别的变量
    • ③引用只能引用变量,不能引用常量、表达式
    • ④引用一个引用是合法的 e.g. int &b=a;int &c=b//legal

2、引用实例:swap函数

  • c 指针:

    void swap(int *a,int *b)
    {
    int tmp;
    tmp=*a;
    *a=*b;
    *b=tmp;
    }
    swap(&n1,&n2);
  • c++ 引用:

    void swap(int &a,int &b)
    {
    int tmp;
    tmp=a;
    a=b;
    b=tmp;
    }
    swap(n1,n2);

3、引用可作为函数的返回值

int n=4;
int &f(){return n;}
f()=40;
cout<<n;//output 40

4、常引用

  • 语法:const 类型 & 引用名=某变量名 e.g.: const int &B=A;
  • 引用名的类型是 const 类型&
  • 不能通过常引用修改其引用的内容

5、引用与常引用的关系

  • T& 或者 T 可以初始化const T&的引用
  • const T和const T&不能初始化T& (除非强制类型转化)
    e.g.

        int A;
    int &B=A;
    const int &C=B;
    const int &D=A;
    int & E=C;//ILLEGAL
    const int &F=C;

OOP 1.1 引用

标签:关系   return   一个   void   ++   illegal   oid   tmp   返回   

原文地址:https://www.cnblogs.com/fzu-031702148/p/8440892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!