美文网首页
cpp notes 4 - 草稿

cpp notes 4 - 草稿

作者: loughsjtu | 来源:发表于2023-03-31 20:10 被阅读0次

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的引用,都是指向同一处内存。

相关文章

  • cpp notes 4

    1. 引用的基本语法 数据类型 &别名=原名 别名和原名操控的是同一块内存,功能类似equivalence. in...

  • cpp notes

    1. while和do while的区别在于,while先判断循环条件再执行,而do while会先执行一次,再判...

  • cpp notes 2

    1.指针 int a=10; int * p; p=&a; 也可以直接 int *p=&a; //*表示声明一个指...

  • cpp notes 5

    接notes 4 cout <

  • C/C++/java/C#中double/float 怎么获得u

    PART1: C/C++部分: [c/cpp]测试部分 引申部分: Notes: 用java/c#同学可以继续看一...

  • qt开发简单贪吃蛇游戏

    1.snake.pro 2.main.cpp 3.mainwindow.h 4.mainwindow.cpp 5....

  • cpp notes 3 内存四区

    代码区,全局区,堆,栈 栈(stack)由编译器自动分配释放,存放函数的形参,局部变量等。所以,不要进行返回局部变...

  • cpp指针操作

    cpp指针3的代码 输出 输出 cpp指针4的代码 以上代码在 visual studio 2017 commun...

  • c++实现异步计时器

    1.Timer.h 2.Timer.cpp 3.test.cpp 4.编译源码 5.运行及其结果

  • 流程:述简单的后台编辑发布流程

    步骤 动作 (状态) 1 新建(草稿) 2 编辑-保存(草稿) 3 (草稿)发布-(已发布) 4 (已发布)编辑-...

网友评论

      本文标题:cpp notes 4 - 草稿

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