C++ 10 之 引用

c10引用.cpp

cpp 复制代码
#include <iostream>

using namespace std;

int main()
{
    // 引用的语法:类型 &别名 = 原名
    // int a = 10;
    // int &b = a;  // 此时a,b指向同一块内存
    // cout << "a: " << a << endl;
    // cout << "b: " << b << endl;

    // int a = 10;
    // // int &b = a; // b变量是一个引用,引用必须初始化
    // // 引用一旦初始化后,不可以引向其他变量
    // int& b = a; // b引用a的同一块内存空间, ab指向同一块内存空间,b与a存储数据的空间是同一块,b相当于a的别名
    // int c = 100;
    // b = c;// 这里不再是引用的意义,就是简单的赋值  引用一旦初始化后,不可以引向其他变量
    // cout << "a: " << a << endl;
    // cout << "b: " << b << endl;
    // cout << "c: " << c << endl;

    // 数组添加引用
    // 1.直接建立引用
    int arr[10];
    int(&arr_b)[10] = arr;  // 初始值别忘记了设置 和 小括号 arr_b 是引用类型的变量   与 arr 是同一个内存空间

    for(size_t i = 0; i < 10; i++)
    {
        arr[i] = i;
    }

    for(size_t i = 0; i < 10; i++)
    {
        cout << arr_b[i] << endl;
    }

    // 2.先定义出数组的类型,再通过类型定义引用
    typedef int my_arr[10]; // 生成了一种有10个元素的数组类型
    // 引用的语法: 类型 &别名 = 原名
    my_arr& arr_c = arr;    // 应用的别名可以有多个
    for(size_t i = 0; i < 10; i++)
    {
        cout << arr_c[i] << endl;
    }

    return 0;
}
相关推荐
挠头猴子4 分钟前
c++中常用的运算符优先级
java·开发语言·c++
我是唐青枫10 分钟前
C#.NET Memory 深入解析:跨异步边界的内存视图与高性能实战
开发语言·c#·.net
Yupureki12 分钟前
《C++实战项目-高并发内存池》5.PageCache构造
c语言·开发语言·c++·单例模式·github
清空mega17 分钟前
第3章:JSP 基础语法——<% %>、<%= %>、<%! %> 到底怎么用
java·开发语言
Full Stack Developme24 分钟前
Java 反射原理及应用
java·开发语言·数据库
柒.梧.40 分钟前
Java集合核心知识点深度解析:数组与集合区别、ArrayList原理及线程安全问题
java·开发语言·python
Qt学视觉40 分钟前
AI3-PaddleOCR搭建环境1
c++·人工智能·opencv·ocr·paddlepaddle
0 0 041 分钟前
洛谷P4427 [BJOI2018] 求和 【考点】:树上前缀和
开发语言·c++·算法·前缀和
web3.088899942 分钟前
使用PHP采集数据的完整技术文章,涵盖多种场景和最佳实践
开发语言·php
柒.梧.1 小时前
Java基础高频面试题(含详细解析+易错点,面试必看)
java·开发语言·面试