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

news/2025/3/16 6:53:27/

在 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/news/1579512.html

相关文章

Manus 一码难求,MetaGPT、OpenManus、Camel AI 会是替代方案吗?

Manus 一码难求,MetaGPT、OpenManus、Camel AI 会是替代方案吗? 一、Manus 的现象与问题 Manus 作为一款号称“全球首个通用 AI 智能体”的产品,凭借其强大的功能和新颖的营销策略迅速走红。然而,其封闭的邀请码机制和高昂的使用…

[IP]UART

UART 是一个简易串口ip,用户及配置接口简单。 波特率从9600至2000000。 该 IP 支持以下特性: 异步串行通信:标准 UART 协议(1 起始位,8 数据位,1 停止位,无奇偶校验)。 参数化配置…

设计模式之美

UML建模 统一建模语言(UML)是用来设计软件的可视化建模语言。它的语言特点是简单 统一 图形化 能表达软件设计中的动态与静态信息。 UML的分类 动态结构图: 类图 对象图 组件图 部署图 动态行为图: 状态图 活动图 时序图 协作…

python Jsonpath表达式语法取值

python Jsonpath 语法规则: 演示数据:{"status":"0","msg":"成功","data": [ {"foo1": "bar1"},{"foo1": "bar2"}]} 根节点:$ $.status $.…

DAY33 贪心算法Ⅱ

122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 想到把整体利润分解为每天的利润&#xff0c;就豁然开朗了。 class Solution { public:int maxProfit(vector<int>& prices) {int result0;for(int i1;i<prices.size();i){resultmax(0,pric…

C#中,如何隐藏TextBox/RichTextBox中闪烁的光标?

方案&#xff1a;调用Windows API 1> 将TextBox的TabStop设置为false&#xff1b; 2> 在程序中相应位置加入下列代码 using System.Runtime.InteropServices; …… [DllImport("user32", EntryPoint "HideCaret")] private static extern bool…

Python在数据处理中的应用:从入门到精通

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

工程化与框架系列(35)--前端微服务架构实践

前端微服务架构实践 &#x1f3d7;️ 引言 随着前端应用规模的不断扩大&#xff0c;微服务架构在前端领域的应用越来越广泛。本文将深入探讨前端微服务架构的实现方案、最佳实践和相关工具。 微服务架构概述 前端微服务架构主要包括以下方面&#xff1a; 应用拆分&#xf…