当前位置: 首页 > news >正文

九(5).引用和指针的区别

区别:

在实现层面,引用就是指针

但在C++语言层面,引用不是实体类型,因此C++语言引用与指针存在明显区别

  • 指针可以不初始化,引用必须初始化

  • 指针的目标可以在初始化后随意变更(除非是指针常量),而引用一旦初始化就无法变更其目标

  • 存在空指针,不存在空引用

  • 存在指向指针的指针,不存在引用的引用

  • 存在指针的引用,不存在引用的指针

  • 存在指针数组,不存在引用数组,但存在数组引用

int a = 10; int b = 20;
// 存在指针的数组
int* parr[2] = {&a,&b};   // OK// 不存在引用的数组
int& patt[2] = {a,b};    // ERROR// 存在数组的引用
int arr[3];
int(&rr)[3] = arr;
#include <iostream>
using namespace std;int main() {int arr[3] = {10, 20, 30};  // 初始化数组// 定义引用 rr 绑定到 arrint(&rr)[3] = arr;// 通过引用访问数组cout << "rr[0] = " << rr[0] << endl;  // 输出 10rr[1] = 99;                           // 修改 arr[1]cout << "arr[1] = " << arr[1] << endl; // 输出 99// 函数参数中使用数组引用auto printArray = [](int(&arr)[3]) {for (int i = 0; i < 3; i++) {cout << arr[i] << " ";}cout << endl;};printArray(arr);  // 输出 10 99 30return 0;
}

相关文章:

  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与诊疗辅助系统详细技术方案
  • UVa12298 Super Joker II
  • 手摸手还原vue3中reactive的get陷阱以及receiver的作用
  • 使用 C++/OpenCV 制作跳动的爱心动画
  • 实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.1 R语言解题
  • OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤
  • 软考 系统架构设计师系列知识点之杂项集萃(78)
  • 15个基于场景的 DevOps 面试问题及答案
  • Ansys Zemax | 手机镜头设计 - 第 4 部分:用 LS-DYNA 进行冲击性能分析
  • 十.显式类型转换
  • 太阳敏感器:卫星姿态控制的“指南针
  • 报表/报告组件(二)-实例与实现解释
  • java-spring
  • Linux下使用nmcli连接网络
  • Python 数据分析与可视化实战:从数据清洗到图表呈现
  • DApp 开发:开启去中心化应用新时代
  • IP查询与网络风险的关系
  • 基于 ThreadContext 封装多个“业务上下文类”以实现可复用、易拓展
  • PH热榜 | 2025-06-03
  • 从0到1认识EFK
  • 网站建设技术风险/杭州网站优化搜索
  • 虚拟服务器建网站/公司网站的作用
  • 政府网站建设作用/品牌推广和营销推广
  • 外贸网站如何做外链/墨子学院seo
  • 有哪些好的网站建设/热搜榜百度一下你就知道
  • 满洲里网站建设/网站运营专员