zoukankan      html  css  js  c++  java
  • 20.左值引用与右值引用

    • 左值引用主要用于引用内存
    • 右值引用主要用于引用寄存器

    代码示例

     1 #include <iostream>
     2 using namespace std;
     3 
     4 void change(int &rnum)//变量名别名
     5 {
     6     rnum = 111;
     7 }
     8 
     9 void main()
    10 {
    11     //左值引用
    12     int num = 10;//num左值,内存实体
    13     int &x = num;
    14     int &lnum(num);//变量的别名
    15     x = 8;
    16     change(num);
    17     cout << num << endl;
    18 
    19     //右值引用,快速备份,编译器自动回收
    20     int &&rnum(num + 3);
    21     cout << (void*)rnum << endl;
    22 
    23     //常规操作指向数组
    24     int a[5] = { 1,2,3,4,5 };
    25     int *p(a);
    26     cout << *p << endl;
    27 
    28     // 左值引用改变指针
    29     //变量名前面加一个&就是左值引用
    30     int *&lp(p);
    31     lp += 1;
    32     cout << *p << endl;
    33 
    34     //右值引用
    35     //变量名前加两个&&就是右值引用
    36     int * &&rrp(&a[1]);
    37     rrp += 2;
    38     cout << *rrp << endl;
    39     cin.get();
    40 }
  • 相关阅读:
    个人冲刺二(2)
    个人冲刺二(1)
    三个和尚观后感
    每日总结
    个人冲刺(10)
    个人冲刺(9)
    个人冲刺(8)
    个人冲刺(7)
    个人冲刺(6)
    下次视频面试前把电脑摄像头擦干净吧
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8544450.html
Copyright © 2011-2022 走看看