当前位置: 首页 > news >正文

c++ 学习 之 指针常量 和 常量指针

前言

在 C++ 中,指针常量(constant pointer)和常量指针(pointer to constant)是两种不同类型的指针,它们具有不同的含义和用途。

正文

指针常量(constant pointer):
指针常量是一个指针,其指向的内存地址不能被修改。也就是说,你不能让它指向不同的内存位置,但可以改变指针所指向的内存位置的内容。
指针常量在声明时必须初始化,因为它的指向不会改变。
使用 const 关键字放在指针类型前面来声明指针常量。
示例:

int x = 5;
int y = 10;
const int* ptr = &x; // 声明一个指向常量整数的指针常量
ptr = &y; // 合法,可以改变指向不同的整数,但不能改变指向的整数的值
(*ptr)++; // 不合法,不能修改指向的整数的值

常量指针(pointer to constant):
常量指针是一个指针,它指向的内存地址可以改变,但不能通过它来修改所指向内存位置的内容。也就是说,你可以让它指向不同的内存位置,但不能通过它来修改那些内存位置的值。
声明常量指针时,使用 const 关键字放在指针指向的类型前面。
示例:

int x = 5;
int y = 10;
int* const ptr = &x; // 声明一个常量整数指针
(*ptr)++; // 合法,可以修改指向的整数的值
ptr = &y; // 不合法,不能改变指针指向的地址

要总结区别:

指针常量的指向不能改变,但可以修改所指向内存位置的值。
常量指针的指向可以改变,但不能通过它修改所指向内存位置的值。
根据你的需求,选择合适的类型来声明指针,以确保安全和正确的操作。

相关文章:

c++ 学习 之 指针常量 和 常量指针

前言 在 C 中,指针常量(constant pointer)和常量指针(pointer to constant)是两种不同类型的指针,它们具有不同的含义和用途。 正文 指针常量(constant pointer): 指针…...

Redis未授权访问漏洞实战

文章目录 概述Redis概述Redis 介绍Redis 简单使用Redis未授权漏洞危害 漏洞复现启动靶场环境POC漏洞验证EXP漏洞利用 总结 本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责! 概述 ​ 本文章主要是针对于vulh…...

【web开发】2、css基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、CSS是什么?二、使用步骤2.1.css的存放位置2.2.选择器2.3.常用CSS样式介绍与示例 一、CSS是什么? 层叠样式表(英文全称:Casc…...

循迹小车原理介绍和代码示例

目录 循迹小车 1. 循迹模块使用 2. 循迹小车原理 3. 循迹小车开发和调试代码 循迹小车 1. 循迹模块使用 TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态,此时模块的输出…...

redis未授权访问

文章目录 搭建环境漏洞复现安装Exlopit并使用 前提条件: 1.安装docker docker pull medicean/vulapps:j_joomla_22.安装docker-compose docker run -d -p 8000:80 medicean/vulapps:j_joomla_23.下载vulhub 搭建环境 输入下面命令,来到Redis的路径下&am…...

【数学建模竞赛】优化类赛题常用算法解析

优化类建模 问题理解和建模:首先,需要深入理解问题,并将问题抽象为数学模型。这包括确定问题的目标函数、约束条件和决策变量。 模型分析和求解方法选择:对建立的数学模型进行分析,可以使用数学工具和方法,…...

Python实现SSA智能麻雀搜索算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…...

OpenCV(二十一):椒盐噪声和高斯噪声的产生

目录 1.图像噪声介绍 2.椒盐噪声的产生 3.高斯噪声的产生 1.图像噪声介绍 噪声介绍 图像噪声是指在图像中存在的不期望的、随机的像素值变化,这些变化来源于多种因素。噪声可能导致图像细节模糊、失真或难以分辨。 以下是几种常见的图像噪声类型: 1…...

【设计模式】Head First 设计模式——构建器模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 ​ 将一个复杂对象的构建与其表示相分离&…...

基于Python+Django深度学习的身份证识别考勤系统设计与实现

摘 要 我们的生活都是由信息技术在潜移默化的改变着,那么早先改变校园生活的是校园信息化,改变社会人生活是各种应用软件。出行我们依靠的是滴滴,外卖我们依靠的是美团等等。从信息技术的发展至今,各色各样的技术能够满足各类人群…...

Unity控制程序退出

大家好,我是阿赵。   最近把公司的游戏发布到各种PC的游戏大厅,遇到了挺多奇怪的需求。之前介绍了一些Unity发布PC端控制窗口最大最小化、修改exe信息等问题,这次来探讨一下退出游戏的问题。 一、收到奇怪的需求 某游戏大厅要求&#xff0…...

C++ using的多种用法

1、引入命名空间 using namespace std; using std::cout; 2、引入基类成员 class Base{ public:void func(){cout << "Base::func()" << endl;} }; class Derived : public Base{ public:using Base::func;void func(int x){cout << "Deriv…...

Java环境的安装

最近博主也是在学校开始学习了Java&#xff0c;也通过老师知道了可以通过大学生学生证申(bai)请(piao) IDEA的企业版&#xff08;社区版也是够学习用的&#xff09;有很多同学还是没有搞懂便做一下分享。 &#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作…...

【ES6】js中的__proto__和prototype

在JavaScript中&#xff0c;__proto__和prototype都是用于实现对象继承的关键概念。 1、proto __proto__是一个非标准的属性&#xff0c;用于设置或获取一个对象的原型。这个属性提供了直接访问对象内部原型对象的途径。对于浏览器中的宿主对象和大多数对象来说&#xff0c;可…...

工程项目管理系统源码-简洁+好用+全面-工程项目管理

​工程项目管理系统是指从事工程项目管理的企业&#xff08;以下简称工程项目管理企业&#xff09;受业主委托&#xff0c;按照合同约定&#xff0c;代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承包企…...

后端SpringBoot+前端Vue前后端分离的项目(二)

前言&#xff1a;完成一个列表&#xff0c;实现表头的切换&#xff0c;字段的筛选&#xff0c;排序&#xff0c;分页功能。 目录 一、数据库表的设计 ​编辑二、后端实现 环境配置 model层 mapper层 service层 service层单元测试 controller层 三、前端实现 interface接…...

【5】openGL使用宏和函数进行错误检测

当我们编写openGL程序&#xff0c;没有报编译链接错误&#xff0c;但是运行结果是黑屏&#xff0c;这不是我们想要的。 openGL提供了glGetError 来检查错误&#xff0c;我们可以通过在运行时进行打断点查看glGetError返回值&#xff0c;得到的是一个十进制数&#xff0c;将其转…...

STM32 CAN快速配置(HAL库版本)

STM32 CAN快速配置&#xff08;HAL库版本&#xff09; 目录 STM32 CAN快速配置&#xff08;HAL库版本&#xff09;前言1 软件编程1.1 初始化1.1.1 引脚设置1.1.2 CAN参数设置1.1.3 CAN滤波器设置 1.2 CAN发送1.3 CAN接收 2 运行测试结束语 前言 控制器局域网总线&#xff08;CA…...

【文末送书】全栈开发流程——后端连接数据源(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

leetcode_27_最小栈

class MinStack { public:MinStack() {}void push(int val) {//只要是压栈&#xff0c;先将元素保存到_elem中_elem.push(val);//如果x小于_min中栈顶的元素&#xff0c;将x再压入_min中if(_min.empty() || val < _min.top()){_min.push(val);}}void pop() {//如果——min栈…...

ChatGPT资源宝库:从提示工程到项目实践的完整指南

1. 项目概述&#xff1a;一份关于ChatGPT的“Awesome”清单意味着什么&#xff1f;如果你最近在GitHub上搜索过任何与ChatGPT、AI或提示工程相关的内容&#xff0c;那么你大概率见过一个以“awesome-”开头的仓库。而sindresorhus/awesome-chatgpt无疑是这个领域里最知名、最常…...

告别showSoftInput失效:一文读懂Android 11+的WindowInsetsController输入法控制

Android输入法控制演进&#xff1a;从InputMethodManager到WindowInsetsController的深度解析 在移动应用开发中&#xff0c;输入法交互是最基础却又最容易被忽视的细节之一。许多开发者都曾遇到过这样的场景&#xff1a;精心设计的登录界面&#xff0c;光标在输入框闪烁&#…...

3DS游戏格式转换神器:5分钟让.3ds文件变身为可安装的CIA

3DS游戏格式转换神器&#xff1a;5分钟让.3ds文件变身为可安装的CIA 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 还在为…...

安全聚合技术:原理、实现与多场景应用

1. 安全聚合技术概述安全聚合&#xff08;Secure Aggregation&#xff09;是一种多方安全计算技术&#xff0c;它允许多个互不信任的参与方在不泄露各自私有数据的前提下&#xff0c;共同计算出一个聚合结果。这项技术的核心价值在于解决了数据隐私与数据共享之间的矛盾&#x…...

Boss直聘职位数据自动化采集:Python爬虫架构设计与工程实践

1. 项目概述与核心价值最近在技术社区里&#xff0c;看到不少朋友在讨论一个叫longsizhuo/BossZhiPin_Job_Search的项目。光看名字&#xff0c;你大概就能猜到&#xff0c;这是一个跟“Boss直聘”和“职位搜索”相关的自动化工具。作为一个在招聘数据分析和自动化领域摸爬滚打了…...

基于轨道模型构建现代化流程编排系统:从概念到实践

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫s4kuraN4gi/orbit-app。乍一看这个仓库名&#xff0c;可能很多人会有点懵&#xff0c;不知道它具体是做什么的。我花了一些时间深入研究&#xff0c;发现这是一个围绕“轨道”概念构建的现代化应用。这…...

XHS-Downloader:小红书内容采集与管理的全栈解决方案

XHS-Downloader&#xff1a;小红书内容采集与管理的全栈解决方案 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接&…...

深入解析go-containerregistry:无守护进程的容器镜像操作利器

1. 项目概述&#xff1a;容器镜像的“瑞士军刀”如果你在容器化这条路上已经走了一段时间&#xff0c;那么对“镜像”这个概念一定不会陌生。无论是 Docker Hub 上的nginx:latest&#xff0c;还是你公司私有仓库里的myapp:v1.2.3&#xff0c;这些镜像都是容器世界的基石。但你是…...

轻量级HTTP代理monica-proxy:精准流量转发与多场景部署指南

1. 项目概述与核心价值最近在折腾一些需要跨网络环境访问特定服务的项目&#xff0c;发现一个挺有意思的工具叫ycvk/monica-proxy。这本质上是一个基于 Go 语言开发的轻量级 HTTP/HTTPS 代理服务器&#xff0c;但它和我们常见的那些“全能型”代理不太一样。它的设计初衷非常聚…...

基于GitHub Pages与Jekyll的静态博客搭建与深度定制指南

1. 项目概述&#xff1a;一个静态博客的诞生与演进如果你对搭建个人博客感兴趣&#xff0c;或者正在寻找一个轻量、高效、完全可控的线上空间&#xff0c;那么“RyansGhost/RyansGhost.github.io”这个项目仓库&#xff0c;很可能就是你一直在寻找的答案。这不仅仅是一个托管在…...