news 2026/5/5 7:34:54

16. 指针和引用的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
16. 指针和引用的区别

1.指针和引用的区别


1.指针和引用的区别

a.指针 是一个"独立的变量, 专门用来存储另一个变量的内存地址; 指针本身占用内存空间, 可指向不同的变量(甚至空地址)"b.引用 是"某个变量的别名(nickname)和原变量共享同一块内存空间, 没有自己独立的内存",本质上是编译器层面的"语法糖"

a.初始化差异#include <iostream>usingnamespacestd;intmain(){inta=10;// 指针:可未初始化(不推荐,野指针)int*p1;// 合法,但p1指向随机地址(野指针,危险)int*p2=&a;// 正确初始化// 引用:必须初始化,否则编译报错// int& ref1; // 错误:引用必须初始化int&ref2=a;// 正确:ref2是a的别名return0;}

b.指向/绑定修改差异#include <iostream>usingnamespacestd;intmain(){inta=10,b=20;// 指针:可修改指向int*p=&a;cout<<*p<<endl;// 输出:10p=&b;// 指针指向bcout<<*p<<endl;// 输出:20// 引用:不能修改绑定对象(看似修改,实际是修改原变量)int&ref=a;cout<<ref<<endl;// 输出:10ref=b;// 不是绑定b,而是把b的值赋给a(a变成20)cout<<a<<endl;// 输出:20cout<<ref<<endl;// 输出:20(ref还是a的别名)return0;}

c.空值与语法使用差异#include <iostream>usingnamespacestd;intmain(){// 指针:可空int*p=nullptr;// 空指针,合法if(p==nullptr){cout<<"p是空指针"<<endl;}// 引用:不能空(以下代码编译报错)// int& ref = nullptr; // 错误:引用必须绑定到有效变量// 语法使用:指针需要解引用,引用直接用intnum=100;int*p_num=&num;int&ref_num=num;cout<<*p_num<<endl;// 指针:解引用访问值,输出100cout<<ref_num<<endl;// 引用:直接访问值,输出100cout<<&p_num<<endl;// 指针自身的地址(独立内存)cout<<&ref_num<<endl;// 引用的地址 = 原变量num的地址(无独立内存)return0;}

d.const修饰的差异#include <iostream>usingnamespacestd;intmain(){intx=5,y=6;// const修饰指针:两种场景constint*p1=&x;// 指向的内容不可改,指针本身可改// *p1 = 10; // 错误p1=&y;// 正确int*constp2=&x;// 指针本身不可改,指向的内容可改*p2=10;// 正确// p2 = &y; // 错误// const修饰引用:限制引用的内容不可改constint&ref=x;// ref = 10; // 错误:不能修改const引用的内容x=10;// 正确:原变量可改,引用值也会变cout<<ref<<endl;// 输出:10return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 20:40:09

Web3娱乐的“三角密码”:2026年哈希竞猜破局的三把钥匙

引言&#xff1a;当哈希算法遇上万亿级娱乐市场2026年&#xff0c;全球Web3娱乐市场正经历一场静默革命。从比特币矿工的“区块哈希竞猜”到链游平台的“幸运哈希抽奖”&#xff0c;从去中心化赌场的“平倍牛牛”到社交平台的“单双数预测”&#xff0c;哈希算法已从密码学工具…

作者头像 李华
网站建设 2026/4/13 10:39:10

2026年行业盘点:这五家背涂胶工厂凭何跻身TOP榜单?

朋友们&#xff0c;最近家里装修&#xff0c;是不是被“瓷砖空鼓”、“脱落”这些词搞得头大&#xff1f;选背涂胶&#xff0c;就跟选对象一样&#xff0c;看着都差不多&#xff0c;用起来才知道谁是真靠谱。今天&#xff0c;咱们不聊虚的&#xff0c;就用数据和故事&#xff0…

作者头像 李华
网站建设 2026/4/26 4:38:23

张江电子吸塑托盘厂家:电子元件的 “安全管家”上海广舟

随上海张江这一片以科创为骄傲的“硅谷”而闻名的电子产业集群的蓬勃发展中&#xff0c;作为精密的电子元件的“贴身保镖”般的电子吸塑托盘也悄然地走入了人们的视线&#xff0c;成为这一产业链中不可或缺的配套环节。借助“地利之利”、“人杰之才”的张江本地的电子吸塑托盘…

作者头像 李华
网站建设 2026/4/25 19:55:02

MongoDB 核心原理 + 高频面试题

MongoDB 是主流的文档型 NoSQL 数据库&#xff0c;以灵活的文档模型、高性能、易扩展著称&#xff0c;是 Java 后端面试中 NoSQL 模块的核心考点&#xff08;重点考&#xff1a;存储原理、索引、副本集、分片、与 MySQL 对比、性能优化&#xff09;。 一、MongoDB 核心原理&…

作者头像 李华