C++中const与指针的使用详解

embedded/2025/3/15 5:29:38/

在 C++ 中,const 和指针的结合可以产生多种语义,主要涉及指针的指向关系指向数据的可修改性。以下是常见的几种情况及其区别:


1. 指向常量的指针(Pointer to const)

语法const T* ptrT const* ptr
含义:指针指向的数据是常量,不能通过指针修改数据,但指针本身可以指向其他地址

const int a = 10;
const int* ptr = &a;  // 正确
// *ptr = 20;         // 错误!不能通过 ptr 修改 a 的值int b = 30;
ptr = &b;             // 正确:指针可以指向新地址
// *ptr = 40;         // 错误!即使 b 本身不是常量,也不能通过 ptr 修改


http://www.ppmy.cn/embedded/172115.html

相关文章

Redis 集合(Set)

Redis 集合(Set) Redis 是一款高性能的键值数据库,以其高性能、易用性以及丰富的数据结构而广受欢迎。在 Redis 中,集合(Set)是一种重要的数据结构,它支持多种操作,如添加、删除、查找元素,以及集合间的运算。本文将详细介绍 Redis 集合的特点、操作和应用场景。 Redi…

前瞻技术新趋势:改变未来生活方式的技术探索

人工智能在教育中越来越重要。它帮助教师管理课程和提高学生的学习效率。教师可以借助AI来设计个性化的学习计划。通过大数据,AI可以分析每个学生的学习习惯和进度。这样,教师就能更好地了解学生的需求。 AI还可以在课堂上提供实时反馈。这让学生能及时…

JVM内存结构笔记02-堆

文章目录 堆1.定义2.堆的结构为什么JVM新生代对象年龄只能是 0-15? 3.堆内存溢出4.堆内存诊断代码示例 堆 1.定义 堆是Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对…

蓝桥杯备考:图论初解

1:图的定义 我们学了线性表和树的结构,那什么是图呢? 线性表是一个串一个是一对一的结构 树是一对多的,每个结点可以有多个孩子,但只能有一个父亲 而我们今天学的图!就是多对多的结构了 V表示的是图的顶点集…

Android Studio快速配置国内镜像源和HTTP代理

最近开始学习Android Studio开发,发现老是连接超时,下面配置下国内镜像源和HTTP代理,而且通过尝试发现最快下载速度方法 一.配置 SDK 镜像源 打开 Android Studio。 进入 File > Settings 然后点击 System Settings,点击 Android SDK。 …

【Java】Websocket

https://www.bilibili.com/video/BV1TP411v7v6/?spm_id_from333.788.videopod.episodes&vd_source6bec1f5b9fe3a91a9829e3a951692cc5 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket&…

使用vue3.0+electron搭建桌面应用并打包exe

使用vue3.0electron搭建桌面应用并打包exe_如何使用electron将vue3vite开发完的项目打包成exe应用程序-CSDN博客

c# txt文档的实时显示,用来查看发送接收指令

通讯历史按钮 private void uiButton1_Click(object sender, EventArgs e){try{logf new logF();logf.Show();}catch (Exception){throw;} }主页面关闭函数&#xff08;点击保存就为true true就不删除&#xff09; private void page1_FormClosed(object sender, FormClos…