cpp notes 4 - 草稿

1. 引用的基本语法

数据类型 &别名=原名

别名和原名操控的是同一块内存,功能类似equivalence.

int a=10;

int &b=a;

int &c; //错误,引用必须初始化

int c=20;

int &b=c; //错误,引用一旦初始化,不可以更改引用.


2.引用的用途:引用做函数参数,可以实现形参修饰实参的作用。示例:

a.值传递

void myswap01(int a, int b)

{

temp=a;

a=b;

b=temp;

}

b.地址传递

void myswap02(int *a, int*b)

{

int temp=*a;

*a=*b;

*b=temp;

}

c. 引用传递

void myswap03(int &a, int &b)

{

int temp=a;

a=b;

b=temp;

}

int main(){

int a=10;

int b=20;

myswap01(a,b);

myswap02(*a,*b);

myswap03(a,b);

}

3. 引用做函数返回值

注意不要返回局部变量的引用

函数的引用可以作为左值

int& test02() //声明一个类型为引用的函数test02

{

static int a=10; //静态变量,存放在全局区,全局区的数据在程序结束后由系统释放

return a;

}

int &ref=test02(); //test02是一个类型为引用的变量,所以要声明一个类型为引用的变量ref去接收其数据。

cout <<ref<<endl; //会输出10

test02()=20; //函数的引用可以作为左值

cout <<ref<<endl; //会输出20,因为ref和test02()都是全局变量a的引用,都是指向同一处内存。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 引用的基本语法 数据类型 &别名=原名 别名和原名操控的是同一块内存,功能类似equivalence. in...
    loughsjtu阅读 67评论 0 0
  • f# C++核心编程 本阶段主要针对C++==面向对象==编程技术做详细讲解,探讨C++中的核心和精髓。 ## 1...
    宁采晨阅读 195评论 0 0
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,454评论 1 31
  • 1.new 、 delete 、 malloc 、 free 关系 delete 会调用对象的析构函数 , 和 n...
    可不期诺Cappuccino阅读 958评论 0 0
  • 1. 单元测试入门——优秀基因 单元测试最初兴起于敏捷社区。1997年,设计模式四巨头之一Erich Gamma和...
    厲铆兄阅读 2,667评论 3 16