news 2026/4/11 2:34:56

指针在 C++ 中最核心、最实用的两个作用:“避免大数据的复制” 和 “共享”。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
指针在 C++ 中最核心、最实用的两个作用:“避免大数据的复制” 和 “共享”。

1. 作用一:避免昂贵的“深拷贝”(提升运行速度)

在计算机中,变量赋值通常是“复制粘贴”。

  • 如果不使用指针(直接用对象):IMAGE是一个很大的结构体(里面包含成千上万个像素点的数据)。 如果你写Block b2 = b1;,计算机必须把b1图片里的每一个像素点都复制一遍给b2。这叫“深拷贝” (Deep Copy)

    • 后果:CPU 累死,卡顿。

  • 使用指针(现在的写法):IMAGE *img只是一个整数(内存地址)。 当你写b2.img = b1.img;时,计算机只需要复制这个由 8 个字节(64位系统)组成的地址号码。这叫“浅拷贝” (Shallow Copy)

    • 后果:CPU 几乎不费吹灰之力,操作瞬间完成。

2. 作用二:实现“一对多”的资源共享(节省内存空间)

这是指针最迷人的地方。它允许多个对象共同使用同一个数据源

  • 场景:你的游戏里可能会同时出现 100 个红色的 Z 型方块。

  • 不指针对比:你需要内存里存 100 份一模一样的红色 Z 型图片数据。

  • 指针做法

    1. 你在内存的静态区(static)只存1 份红色 Z 型图片。

    2. 那 100 个方块对象里,每个方块只存一个指针,全部指向那唯一的 1 份图片。

图解关系:

Plaintext

[方块对象 Block 1] ----\ \ [方块对象 Block 2] ----+----> [ 真正硕大的图片资源 (IMAGE) ] / (内存中只存在一份) [方块对象 Block 3] ----/

3. 通俗比喻:网页链接 vs 网页截图

为了让你彻底明白,我们可以用“发给朋友看网页”做比喻:

  • 不用指针 (传值): 你把整个网页从头到尾截图(甚至打印出来),然后发给朋友。

    • 缺点:文件很大,发送很慢,浪费手机存储。

  • 使用指针 (传址): 你只复制了网页的URL 链接(网址)发给朋友。

    • 优点:只有一行字,发送极快。朋友点击链接,看到的是云端同一个网页。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 20:42:29

智能体大爆发:为什么边缘侧才是它的主战场?

大家好,我是边小缘。今天是 2025 年 12 月 20 日。此时此刻,如果你还在谈论“生成式 AI”如何写诗作画,那可能有点 out 了。最近,硅谷著名技术研究机构 Futuriom 发布了一份重磅报告——《Cloud Tracker Pro (CTP) Q3 2025 Update…

作者头像 李华
网站建设 2026/4/8 17:39:20

如何在Kubernetes中部署可扩展的Excalidraw服务?

如何在Kubernetes中部署可扩展的Excalidraw服务? 远程协作已不再是“可选项”,而是现代团队运作的核心能力。从产品原型讨论到系统架构设计,一张共享的白板往往比十页文档更高效。但传统的绘图工具要么过于刻板,要么难以集成——…

作者头像 李华
网站建设 2026/4/6 21:36:47

Excalidraw安全性评估:适合企业内部使用的理由

Excalidraw安全性评估:适合企业内部使用的理由 在当今分布式团队日益普及的背景下,远程协作工具早已不再是“锦上添花”,而是支撑技术决策与跨职能沟通的核心基础设施。尤其是在系统架构设计、产品原型推演和流程建模等高敏感场景中&#xff…

作者头像 李华
网站建设 2026/4/1 4:22:08

Python+Vue的抑郁症患者看护系统 Pycharm django flask

这里写目录标题 项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示 收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目展示 项目编号&#x…

作者头像 李华
网站建设 2026/4/8 10:57:34

Excalidraw与主流白板工具对比:优势、劣势全分析

Excalidraw 与主流白板工具对比:为何它成了技术团队的“思维草稿纸”? 在一次远程架构评审会上,工程师小李只用了不到两分钟就画出了一个清晰的服务调用链路图——没有拖拽组件库,也没有反复调整对齐。他只是输入了一句&#xff1…

作者头像 李华
网站建设 2026/4/8 5:18:27

16、优化IE4+浏览器:注册表设置全攻略

优化IE4+浏览器:注册表设置全攻略 1. 引言 在使用IE4+浏览器的过程中,我们常常会遇到各种个性化需求,比如调整安全设置、优化界面显示、管理个人目录等。通过修改注册表,我们可以对IE4+浏览器进行深度定制,满足不同用户的特定需求。本文将详细介绍IE4+浏览器相关的注册表…

作者头像 李华