news 2026/8/8 5:50:23

指针在 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/8/8 5:23:45

Excalidraw API接口文档:开发者集成指南

Excalidraw API 接口集成技术解析:构建可视化协作系统的实践指南 在远程协作日益成为常态的今天,团队对“可视化沟通”的依赖达到了前所未有的高度。无论是产品原型讨论、系统架构评审,还是教学演示与创意头脑风暴,一张可以自由涂…

作者头像 李华
网站建设 2026/8/7 23:10:52

Excalidraw如何提升技术团队的沟通效率?

Excalidraw如何提升技术团队的沟通效率? 在一次跨时区的技术评审会上,北京的架构师刚画出一个微服务模块,旧金山的同事立刻在旁边添加了数据流箭头,柏林的工程师则通过AI插件自动生成了异常处理分支——三个人从未见面&#xff0c…

作者头像 李华
网站建设 2026/8/7 6:55:21

Excalidraw代码块集成方案:程序员也能轻松画图

Excalidraw代码块集成方案:程序员也能轻松画图 在写技术文档时,你有没有过这样的时刻——脑子里已经想清楚了系统架构,却卡在“怎么画出来”这一步?打开绘图工具,拖拽形状、对齐线条、调整颜色……还没开始讲逻辑&…

作者头像 李华
网站建设 2026/8/7 6:51:14

Excalidraw使用技巧:10个你可能不知道的快捷键

Excalidraw使用技巧:10个你可能不知道的快捷键 在远程会议正在进行、白板需要快速搭建的那一刻,你是不是也经历过这样的窘境:手忙脚乱地切换工具、反复点击菜单、拖拽对齐耗时良久?当别人已经开始讲解架构图时,你还在调…

作者头像 李华
网站建设 2026/8/7 23:46:04

技术文档新利器:Excalidraw手绘风图表让架构更清晰

技术文档新利器:Excalidraw手绘风图表让架构更清晰 在一次远程架构评审会上,团队成员盯着屏幕上那张工整却冰冷的Visio图沉默良久——线条太直、颜色太正,仿佛每一条连接都带着压迫感。有人忍不住说:“这图看着就像考试题。” 气氛…

作者头像 李华
网站建设 2026/8/8 0:41:44

Python+Vue的农产品销售系统的设计与实现_ Pycharm django flask

收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 随着现代人们的快速发展,农产品销售系统已成为农产品的需求。该平台采用Python技术和django搭建系统框架,后台使用MySQL数据库进行信息管理;通过个人中心…

作者头像 李华