zoukankan      html  css  js  c++  java
  • 【C++学习】引用变量

    1. 引用变量必须在声明时初始化,且之后无法更改(更改指的是成为其他变量的引用,即:引用变量一旦与某个变量关联起来,就一直效忠于它)

    类似于const 指针:

    int a = 10;
    int & re = a;  //re的引用不可变
    int * const pr = &a; // pr的指向不可变 
     1 #include <iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int a = 101;
     7     int b = 50;
     8     int & re = a;
     9     cout << "a value: " << a << endl;
    10     cout << "a address: " << &a << endl;
    11     cout << "b value: " << b << endl;
    12     cout << "b address: " << &b << endl;
    13     cout << "re value: " << re << endl;
    14     cout << "re address: " << &re << endl;
    15     re = b; //这里只是将b的值赋值给re引用的变量(a),无法让re引用新的变量(b)
    16     cout << "a value: " << a << endl;
    17     cout << "a address: " << &a << endl;
    18     cout << "b value: " << b << endl;
    19     cout << "b address: " << &b << endl;
    20     cout << "re value: " << re << endl;
    21     cout << "re address: " << &re << endl;
    22     return 0;
    23 }
    24 /*
    25 输出
    26 a value: 101
    27 a address: 0x6dfee8
    28 b value: 50
    29 b address: 0x6dfee4
    30 re value: 101
    31 re address: 0x6dfee8
    32 a value: 50
    33 a address: 0x6dfee8
    34 b value: 50
    35 b address: 0x6dfee4
    36 re value: 50
    37 re address: 0x6dfee8
    38 */
    例1
     1 #include <iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int a = 101;
     7     int * pt = &a;
     8     int & re = *pt;
     9     cout << "pt: " << pt << endl;
    10     cout << "re: " << &re << endl;
    11     cout << "a: " << &a << endl;
    12     int b = 50;
    13     pt = &b;  // pt指向b, 但是re仍然是a的引用
    14     cout << "pt: " << pt << endl;
    15     cout << "re: " << &re << endl;
    16     cout << "a: " << &a << endl;
    17     cout << "b:" << &b << endl;
    18     return 0;
    19 }
    20 
    21 /*
    22 输出
    23 pt: 0x6dfee4
    24 re: 0x6dfee4
    25 a: 0x6dfee4
    26 pt: 0x6dfee0
    27 re: 0x6dfee4
    28 a: 0x6dfee4
    29 b:0x6dfee0
    30 */
    例2
  • 相关阅读:
    Java Applet实现五子棋游戏
    CrawlScript脚本语言实现网络爬虫
    Eclipse集成Git的实践
    以图表形式分析和统计数据
    爬虫抓取分页数据的简单实现
    爬虫的简单实现
    使用htmlparser爬虫技术爬取电影网页的全部下载链接
    使用webcollector爬虫技术获取网易云音乐全部歌曲
    百度地图API-覆盖物
    百度地图API-控件
  • 原文地址:https://www.cnblogs.com/tristatl/p/12882010.html
Copyright © 2011-2022 走看看