cpp 指针常量 & 常量指针 & 函数后const

C++指针深度解析:从内存地址到函数指针的全面指南 在计算机编程中,内存管理是底层开发的核心技术之一,它直接关系到程序的性能和稳定性。指针作为访问和操作内存地址的机制,其原理是通过存储变量的内存地址来实现对数据的间接访问。这一技术价值在于提供了直接操作内存的能力,使得程序能够实现高效的数据结构、动态内存分配以及硬件交互等高级功能。在应用场景上,指针广泛应用于数组遍历、字符串处理、函数回调以及系统编程等领域。本文聚焦于C++中的指针使用,深入探讨了指针数组、数组指针等复杂概念,并详细解析了常量指针与指针常量的区别,帮助开发者掌握这一关键工具,避免常见的内存错误 阅读详情

指针常量 -> 指针本身是常量,
指针本身无法修改,但是它指向的内容可以修改。
因为指针本身是常量,声明的时候一定要赋值
如:
int* const c = &b;
指针c是常量,所以const紧跟它,它是int* 指针,初始化为b的地址,c必须指向b,但是b可以修改,
如果b是指针,可以通过修改b来修改c。

常量指针 -> 常量的指针
指针指向的是常量,所以指向的内容无法修改,指针本身可以修改。
如:
const int* p; int const* p
p是指针,指向常量。

const T *const c

这里有2个const,指针c本身是常量,它指向的也是常量,
所以指针本身不能修改,指向的常量也不能修改。

函数后const
只读函数,不允许修改类的成员

const常量和指针 以及分别在C和C++中的理解 const 关键字在 C/C++ 中用途广泛,可以有效提高代码的安全性和可维护性。通过合理使用 const,可以明确表达设计意图,减少潜在的错误。常量性const是“只读建议”,可通过指针绕过。const是强制约束,违反会触发编译器错误。编译期优化C++ 允许const变量参与编译期计算(如模板元编程)。C 的const变量通常需要运行时求值。作用域与链接性C++ 的const全局变量默认仅在当前文件可见。C 的const全局变量默认可跨文件访问。与#define的关系C++ 推荐用。 阅读详情

相关推荐

带隙基准电路设计实战:从HSPICE仿真到Virtuoso版图全流程解析

在模拟集成电路设计中,基准电压源是确保系统精度与稳定性的核心模块。其基本原理在于巧妙结合具有正、负温度系数的电压,通过加权求和实现近似零温度系数的稳定输出,这一特性对于高精度数据转换器、电源管理芯片等至关重要。从工程实践角度,利用HSPICE进行深入的直流工作点、温度扫描和工艺角仿真,是验证电路性能、优化温度系数和电源抑制比的关键步骤。而借助Cadence Virtuoso进行版图实现时,必须重点关注电阻与BJT的匹配布局、敏感节点的保护以及电源完整性设计,以确保设计意图在硅片上得以准确呈现。通过完整的从前

weixin_29181861的博客 283

C\C++中函数后面加const

c++ 在函数后加const的意义:    我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值。如果把不改变数据成员的函数都加上const关键字进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,已定义成const的成员函数,一旦企图修改数据成员的值,则编译器按错误处理。 const成员函数和const对

荪荪的博客 6万+

ESP32-S3 SPI驱动SD卡与FATFS文件系统实践

SPI(串行外设接口)是嵌入式系统中常用的同步串行通信协议,通过主从架构实现全双工通信。其工作原理基于时钟同步和数据线传输,具有接线简单、占用引脚少的优势。在存储扩展场景中,SPI模式可驱动SD卡实现大容量数据存储,配合FATFS文件系统可提供标准化的文件管理能力。ESP32-S3作为乐鑫推出的高性能Wi-Fi/蓝牙双模芯片,其SPI外设支持高达80MHz时钟频率,结合ESP-IDF提供的sdspi_host驱动,开发者能快速实现SD卡存储方案。该技术广泛应用于物联网设备日志存储、传感器数据采集等场景,本实

weixin_29168393的博客 357

C++之const用法解惑

const用途 首先,说下最基本的const用途: case1:const修饰变量,表示是常量,程序中不能更改,存放在常量存储区。 例如: const int a = 100; case2:const修饰函数形参,表示传入的参数在函数内部不能修改。 例如: class Test { public: Test(const Test& obj) //自定义的拷贝构造函数 { // ...

chenj_freedom的技术点滴 438

保姆级教程:在K230开发板上为张大头步进电机实现位置、速度、回零全功能控制

本文提供了一份详细的K230开发板与张大头步进电机的控制教程,涵盖硬件连接、协议解析、模块化代码实现及实战案例。通过位置、速度和回零功能的全面讲解,帮助开发者快速掌握步进电机的高级控制技术,适用于自动化、机器人等应用场景。

weixin_42629671的博客 708

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

伶俐角少儿编程 464

关于C/C++中const的用法

此时指针是一个变量,它可以指向任意的地方,但一旦他指向一个地方,那么这个地方的值是不可以修改的name可以最开始指向chen,也可以指向liu但他指向chen的时候,不可以将chen中的n改为y。

2301_79591053的博客 1434

装配完整性检查系统:基于YOLOv10的螺丝/零件缺失自动检测(含UI界面与完整代码)

建议自行采集装配场景数据,标注缺失螺丝、错误零件等,模拟真实缺陷。手机/工业相机采集图像;使用LabelImg进行目标标注;转换为 YOLO 格式。本文构建了一个完整的装配完整性检测系统,基于 YOLOv10 实现高精度螺丝缺失检测,并使用 PyQt5 构建了图形界面,实现一键导入与可视化检测流程,适用于工业质检自动化部署。项目可灵活扩展至零件缺失、错装、错位、顺序错误等检测场景,是深度学习在制造业中落地的典型应用案例之一。

YOLO 701

C++类和对象(4)——const与&

const在类中可以保证成员变量和对象不被改变。

2301_79894844的博客 851

tun虚拟网卡没有安装解决之道

目录 描述 过程 一、sstap 会提示你虚拟网卡没有安装; 二、还有会是这样的:病毒和威胁防护中无法启动;引擎不可以用等等,以及会显示需要IT管理员去处理;等等报错的信息; 系统升级地方会显示:Windows Defender Antivirus 的安全智能更新 - KB2267602 (版本 1.305.2147.0) - 错误 0xc8000442 Windows Defender报错; 三、还有就是会出现你搜自己家的WIFI搜不到,电脑端都不会显示WIFI名字; 解决方...

战神/calmness的博客 1万+

Ubuntu上通过FinalShell或Asbru访问CentOS虚拟机

使用FinalShell或Asbru远程连接虚拟机

howard2005的专栏 2275

C++ 四种强制类型转换

C++ 类型转换(C风格的强制转换): 在C++基本的数据类型中,可以分为四类:整型,浮点型,字符型,布尔型。其中数值型包括 整型与浮点型;字符型即为char。 (1)将浮点型数据赋值给整型变量时,舍弃其小数部分。 (2)将整型数据赋值给浮点型变量时,数值不变,但是以指数形式存储。 (3)将double型数据赋值给float型变量时,注意数值范围溢出。 (4)字符型数据可以赋值给整型变量,此时存入...

weixin_34232363的博客 5235

【Windows Server 2019】邮件服务器配置与管理——安装及配置Winmail服务器(上)

博文介绍了如何安装邮件服务器 Winmail,如何配置Winmail,包括运行服务器,Winmail管理工具介绍和域名配置。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 2万+

C++基础常量指针与指针常量,数组指针与指针数组,const &作为函数形参可接受三种多样化的实参

// ConsoleApplicationC++jichu8.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" using namespace std; /* 常量指针和指针常量 常量指针: const char *p; 指针p指向的内容不可通过p来改变,指针本身可以变 指针常量: char * const p; 指针p指向的内容可通过p来改变,指针本

baidu_19552787的博客 186

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C++学习之路6——C++中三目运算符和for循环,const &用法,nullptr指针

C++中的三目运算符和for循环,const &用法,nullptr指针 C++中的三目运算符为: <表达式1>?<表达式2> :<表达式3> 它的意思是:先执行表达式1,如果1为真则执行表达式2,否则执行表达式3,三木运算符常常用来代替if .... else....语句。 如: int a = 1; int b; if (a < 0...

The_Dream_Runner的博客 716

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

c++引用、const使用

引用(&)的作用:1、取地址(在等号右边) 2、取别名(在等号左边) 代码举例 int x=3; int *p=&x;//取地址,初始化指针 int &y=x;//y是x的别名 int *&q=p;//为指针取别名 const的应用 const int x=3; x=5;//出错,不能对常量赋值 // const int x=3;//与#define x 3相比,需要语法检查 // c

cjluzxyjd的博客 230

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C++ 4 引用、指针、常量、静态、友元

目录C++ 4 指针、常量、静态指针① 指向对象的指针② 指向对象数据成员的指针③ 指向对象成员函数的指针④ 指向普通函数的指针⑤ 指向当前对象的 this 指针常量 const① 常变量② 常对象③ 常对象成员——常数据成员④ 常对象成员——常成员函数⑤ 指向对象的常指针⑥ 指向常变量的指针变量⑦ 指向常对象的指针变量⑧ 对象的常引用静态 static① 静态数据成员 C++ 4 指针、常量、静态 指针 ① 指向对象的指针 //定义 Student stu, *p; p = &stu; /

小数点儿_ 327

C++ const常量成员函数

C++ 常量成员函数const的的用法太多了,常量成员函数就是曾经让我迷惑的用法之一,即在成员函数的参数列表之后加上const。

上善若水 8606

彻底理解——指针常量和常量指针、指向常量的常指针

前言   在汉语中,定语一般都放在中心词的前面,像C语言和C++语言这种技术性语言,更是如此。   所以定语重要还是中心词重要,肯定是中心词重要。   如:美丽的女孩 美丽的是定语 女孩是中心词   女孩肯定是重要,是本质。   同理,我们先不讲技术,先从字面意思来理解:指针常量、常量指针、函数指针、指针函数、数组指针、指针数组 指针常量 指针是定语,常量是中心词,所以指针常量本质是一个常量 常量指针 常量是定语,指针是中心词,所以常量指针本质是一个指针 函数指针 本质上是一个指针,那就

zhf的博客 8012

搬砖:C++ 指针常量、常量指针和常指针常量

C++ 指针常量、常量指针和常指针常量 2014年11月26日 22:12:41 To-Big_Fish 阅读数:4324 https://blog.youkuaiyun.com/yujin753/article/details/41523005 1、指针常量 如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。 格式如下...

hunter 1万+

C/C++:常量指针(const Pointer)与指向常量的指针(Pointer to const)

指向常量的指针(Pointer to const)和常量指针(const Pointer)涉及const在指针中的不同用法,是易混淆但非常重要的概念。

凯琳和火龙果的博客 2057

C++ 指针和const 常量指针 指针常量

const int * pn = # // 指针指向一个常量int * const finger = # //指针本身为常量上面代码中,finger只能指向num,但允许finger修改num的值,不能使用pn来修改num的值,但允许pn指向另一个位置!简而言之,finger和*pn是const,但*finger和pn不是。其中,ph只能指向height,*ph也不能用来修改height的值!参考C++ Primer Plus。

m0_53911267的博客 2051

C++中的常量(const):指向常量的指针、常量指针、指向常量的常指针、顶层const、底层const、const引用、常量表达式constexpr、const成员函数、常量对象

了解c++中const的一切

一个搬运知识的笨小孩 1252

【C++基础】Day 8:函数指针 VS 指针函数 | 指针常量 VS 指向常量的指针

本文系统梳理了C++中两类易混淆指针概念:1)函数指针与指针函数:前者是指向函数的指针变量,用于回调、函数表等;后者是返回指针的函数。区分关键看标识符最近的符号是*还是()。2)指针常量与指向常量的指针:前者指针不可改但内容可改,后者内容不可改但指针可改,const位置决定限制对象。文章通过定义解释、图表对比、代码示例和面试题分析,帮助读者清晰区分这些高频考点概念,掌握指针声明的阅读技巧和使用场景。

冰冻三尺非一日之寒 1612

C++基础(五)const、常量指针、常量、指向常量的指针

常量 有些变量,因为程序需要,不能在编程过程中对其进行修改,则用"const"关键字修饰即可,如下: const int iTest = 100;或者 int const iTest = 100; 这称为常量。一经定义后,便不能再修改。以上两种定义都是合法的! const 引用 对于上面的常量,因为其数据不能修改,所以其对应的引用,也要不能修改,这样的引用,则为const 引用,如下: const int& rTest = iTest; 如果定义一个普通的引用指向iTest,例如 i.

叶孤城 2010

C++ const指针常量与常量指针,const成员函数

记忆法:const 在*左边右边记忆法 常量指针(被指向的对象是常量) 定义:又叫常指针,可以理解为常量的指针,指向的是个常量 关键点: 常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改; 常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值; 指针还可以指向别处,因为指针本身只是个变量,可以指向任意地址; const int *...

yuleidnf的博客 462
上一篇: leetcode 1260. Shift 2D Grid(2D矩阵平移)
下一篇: g2o库的一些坑(undefined reference to, fatal error: cs.h)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值