常指针

常指针、指向常量的指针、指向常量的常指针 三者的区分 简而言之~ 常指针:地址不可变,内容可变 指向常量的指针:地址可变,内容不可变 指向常量的常指针:地址不可变,内容不可变 阅读详情

**

指向对象的常指针和指向常对象的的指针基本用法和注意事项:

**

# include <iostream>
# include <string>
using namespace std;

class Time
{
public:
	Time(int h = 10, int m = 30, int s = 59):hour(h), minter(m), sex(s){};
	void out_value();
	void set_value(int, int, int);
	void fun(const Time *p);   //使用指向常对象的指针作为形参,可以接收非const对象的实参也可接收const对象的实参
							   //即使接收的是非const对象,也可以防止其对象的值被修改,
							   //若传入的实参是const对象,则只能使用指向常对象的指针作为形参
	int hour;
	int minter;
	int sex;
};
int main(void)
{
	//指向对象的常指针:
	/*
	Time t1(10, 10, 10), t2;
	Time * const p1 = &t1;  //正确定义指向对象的常指针,p1始终指向t1
	Time * const p1;   //必须在p1初始化给予初值,否则p1会指向系统未分配的空间(是一个垃圾值)
	p1 = &t1;		   //error:即在其初始化时将其指向一个对象,此后不可在改变
	*/
	//p1 = &t2;//error:p1是指向t1的常指针,不能改变使其指向t2
	
	//指向常对象的指针:
	Time t2(9, 9, 9), t3;
	const Time * p2;  //定义指向常对象的指针
	p2 = &t2;		  //正确:p2可以指向非const的对象
	//p2->hour = 12;  //error:该对象中的数据成员不能通过p2来改变
	//p2->set_value(10,10,11);  //error:
	//p2->out_value();          //      不能使用指向常对象的指针引用普通成员函数
	t2.set_value(10,10,11); //正确:
	t2.out_value();         //     可以使用原对象名引用普通成员函数
	p2 = &t3;         //正确:指向常对象的指针可以改变其指向的对象,即:可以改变p2中存储的地址,使其指向另一个对象

	return 0;
}

void Time::set_value(int h, int m, int s)
{
	hour = h;
	this->hour = h;
	(*this).hour = h;

	minter = m;
	sex = s;
}
void Time::out_value()
{
	cout << hour << ":" << minter << ":" << sex << endl;
}

无人机蜂群作战设计技术详解 构建防御网络,拦截敌方无人机或导弹;无人机蜂群作战设计技术是一种创新的军事应用概念,它基于生物仿生学原理,通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,以执行复杂多样的军事任务。无人机蜂群作战的概念源于自然界中蜜蜂、蚂蚁等生物群体的行为模式,这些生物群体通过简单的个体间的信息交互和分工协作,能够完成远远超出单一个体能力的复杂任务。其中,无人机群体是执行任务的主体,指挥控制系统负责任务分配和决策,通信数据链则保障无人机群体与指挥控制系统之间的信息交换。 阅读详情

相关推荐

Docker Desktop重装避坑:从卸载到安装的完整流程(Win10/Win11适用)

本文详细介绍了在Windows 10/11系统上彻底卸载和重新安装Docker Desktop的完整流程,包括深度清理残留文件、注册表项和虚拟磁盘,以及安装前的环境准备和安装后的验证步骤,帮助用户避免常见问题并优化Docker环境配置。

julia4scientist的博客 1107

常指针(指向常量的指针),指针常量,指向常量的常指针

常指针(指向常量的指针),指针常量,指向常量的常指针

黄道婆的专栏 4864

S32K144驱动TPS929120避坑实录:从原理图设计到PWM调光漏电流的完整解决流程

本文详细解析了S32K144驱动TPS929120在车规LED驱动中的常见问题与解决方案,重点解决了PWM调光漏电流的行业难题。从原理图设计、FlexWire通信到软件调试,提供了一套完整的工程化避坑指南,特别针对车规MCU应用中的温度漂移、地址冲突等痛点给出了实用建议。

weixin_30872157的博客 561

普通指针、常指针、常量指针与函数指针

指针 普通指针:int *p0; 常量指针:const int *p1;或int const *p2; 常指针:int * const p3 = &b;、int const * const p4; 区别: 普通指针,只能指向变量,不能指向常变量,常变量可以定义常量指针来访问 常量指针,指针的值可以改变,不能够用这个指针修改指针指向的内存的值。指针可以指向常变量,也可以指向变量 常指针 指向变量的常指针,指针变量的值不能被改变,可以通过这个常指针修改常指针指向的变量的值。只能指向变量,不能指向常变

m0_56450064的博客 1744

深入解析Flex NOC总线驱动的实时带宽与延迟优化策略

本文深入解析了Flex NOC总线驱动的核心价值与优化策略。通过解读`/proc/noc/real_time`中的实时带宽与延迟数据,并结合`sysfs`接口进行动态QoS调优,可以有效解决芯片内部数据拥堵问题。文章以智能摄像头和算力盒子的实际案例,详细说明了如何通过优先级调整、带宽限制和参数优化,提升系统在复杂任务下的实时性与稳定性。

weixin_29289821的博客 284

内存学习(3):DRAM的基础存储结构(存储层级、读写过程,刷新与暂存)

DRAM,全称为 Dynamic Random Access Memory ,中文名是“动态随机存取存储器”。所谓“动态”是和“静态”相对应的,芯片世界里还有一种 SRAM 静态随机存取存储器的存在。笼统地说,DRAM 的结构比 SRAM 更简单,面积占用更小,适合制作大容量的存储芯片;而 SRAM 结构复杂一些,一般使用六个晶体管,面积消耗大,但是读写速度快,而且因为 SRAM 只用到晶体管,所以在工艺上和逻辑芯片相兼容,我们可以在逻辑芯片上直接集成 SRAM。

呆呆象呆呆的博客 2万+

【C/C++】指针常量、常量指针、指向常量的常指针

而第二组的翻译和第一组的翻译在常量指针的位置刚好出现了两种截然不同的结果,或许这就是很多人在网上搜文章时感觉都不是很统一的原因吧,一部分文章按照第一组翻译去解释意思,另一部分文章按照第二组去解释就会导致看下来更加的晕头转向了。从英语可以很快速的理解这几个术语的含义,但是由于翻译的问题,就导致大家在初学 C++ 时会很晕头转向,被这几个概念搞的摸不清头脑。防止读者产生误会,我会在后续使用英语名来代替中文名,另外读者不用过分纠结中文名字,只需要能够分辨清楚。的定义方法与用法即可。

FuckerGod的博客 2313

docker容器ubuntu:latest里使用uv add mysqlclient安装失败的解决方案

在Docker容器(ubuntu:latest)中安装mysqlclient失败,原因是缺少必要的依赖包。错误显示系统找不到pkg-config工具和MySQL客户端库。解决方法:先更新软件源并安装构建工具、Python开发包、MySQL客户端库和pkg-config工具。具体步骤:运行sudo apt update,然后安装build-essential python3-dev default-libmysqlclient-dev pkg-config,最后再执行uv add mysqlclient即可成

拥抱具身智能,昇腾Ascend C 295

指针常量和常量指针的区别和联系

而指针常量和整形常量一样,不同的是指针常量。2)常量指针:本质上还是指针,不过前面的修饰语“常量”,限制了该指针,只能指向常量。1:指针常量:先定义指针 (int *)(把指针定义符号理解为指针),第二,定义常量中的常(const),第三定义常量中的量,也就是信号名称 p1。把上面记下来,然后,可以自己在草稿纸上,写上几遍,于是我们便记住了指针常量和常量指针的定义形式了。首先:需要指出的是指针常量和常量指针都是和const有关系。2:常量指针:先定义常量中的常 int const ,第二定义指针*p2。

WE_BIG的博客 2614

基于STM32L4XX 、HAL库的TMC2226-SA-T步进电机驱动器驱动程序应用设计

集成的功率MOSFET可处理高达2A RMS的电机电流,并具备保护与诊断功能,确保运行稳健可靠。作为业界最先进的STEP/DIR步进电机驱动系列,该芯片通过升级设计实现无噪音、高精度运行,为用户提供高性价比且极具竞争力的解决方案。// 用于PDN_UART单线通信。// HAL_UART_Transmit - 注意PDN_UART是单线,收发共线。.huart = &huart1, // PDN_UART连接的USART。均方根步进/方向控制接口,提供8、16、32或64微步针设置,

PP_Cottage的博客 628

基于深度学习的智能监考系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

行为检测与识别:能够自动识别考生在考试中的异常行为,如作弊、看手机、交头接耳等。实时监控:在考试期间,系统能够对考生的行为进行实时监控,及时发出警报。用户交互:通过简洁易用的UI界面,便于监考人员进行实时监控、查看警报和视频回放等操作。行为分析与反馈:系统能够识别出考生的违规行为,并提供反馈。本文详细介绍了如何构建基于YOLOv5的智能监考系统,从数据集的准备、YOLO模型的训练,到UI界面的设计与实现,展示了一个完整的深度学习监控系统。

YOLO 781

C++ 常指针和指向常量的指针

常指针 格式:char * const p; 特点:const接近p 说明:常指针所指向的地址不能变,但是其所指向的地址中的值可以变。即指针本身是个常量。 举例: char testdata1, testdata2; char* const p = &testdata; // 必须赋初值 *p = 0x55; p = &testdata2; // 此句会报错。 指向常量的指针 格式: const char * p 或 char const * p; 特点:* 接近 p 说明:.

MARSHCW的博客 2399

基于FPGA的时间数字转换(TDC)设计(五:基于Carry4的高精度TDC设计)

基于FPGA的时间数字转换(TDC)设计,此为第五篇:基于Carry4的高精度TDC设计。提供工程文件及MATLAB测试分析代码

sdau2005的博客 8803

指针常量,常指针,指向常量的常指针

指针常量,常指针,指向常量的常指针 1.常量指针(常指针) int const*p 特点是指针指向的数值可以改变,然而指针所保存的地址却不可以改变。 2.指针常量 const int*p 特点是指针所保存的地址可以改变,然而指针所指向的值却不可以改变 3.指向常量的常指针 const int const*p 特点是指针所保存的地址不可变,指针所指向的数值也不可变 4

alongwilliam的专栏 903

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C++ 指针常量、常量指针和常指针常量

1、指针常量 如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。 格式如下 数据类型  *   const  指针变量=变量名; 修饰符const与指针变量紧邻,说明指针变量不允许修改,既然指针变量的值不能修改,所以一定要在定义的时候给定初值(指向一个确定存在的地方) 如下 char * c

小鱼的专栏 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

区分指向常量的指针、常指针和指向常量的常指针

优先使用const修饰不应修改的参数(例如理解清晰你的目的:你是要锁住“指针”还是“指针指向的数据”?写代码时从右往左读更清楚可读为 “p是一个常量指针,指向一个常量 int”。如果你常用的话,养成“从右向左读指针声明”的习惯,真的非常有帮助!

qq_45512728的博客 775

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

12.3 C++常指针

C++指向对象的常指针 C++定义指向对象的常指针的一般形式为 类名 * const指针变量名; 也可以在定义指针变量时使之初始化 在C++中,虽然指向对象的常指针变量的值不能改变,但可以改变其所指向对象的值,如果想将一个指针变量固定地与一个对象相联系,可以将它指定为const指针变量。 C++指向常对象的指针变量 定义指向常变量的指针变量的一般形式为 const 类型名*指针变量名; 例子:定义指向常变量的指针变量point const char *point; const的位置在最左侧,它与类型名

weixin_48669767的博客 1476

C++指向对象的常指针

将指针变量声明为const型,这样指针值始终保持为其初值,不能改变。 如:     Time t1(10,12,15),t2; //定义对象     Time * const ptr1; //const位置在指针变量名前面,规定ptr1的值是常值     ptr1=&t1; //ptr1指向对象t1,此后不能再改变指向     ptr1=&t2; //错误,ptr1不能改变指向

妙心的专栏 1298

C/C++复习之 指向常量的指针、常指针、指向常量的常指针

指向常量的指针 从名称上看,指针变量指向的是一个常量,所以不能通过指针变量来改变这个常量的值。 指向常量的指针变量,不能改变指向的常量的值,但是可以改变自己的值(指针变量的值为其他变量的地址,所以改变指针变量的值即将指针指向其他变量) 常指针 常指针是指值不能改变的指针变量。指针变量的值是其他变量的地址,所以不能指针变量的值不能改变指的是指针变量不能指向其他变量,一开...

Hello World ! 3713

常指针与指向常量的指针

根据代码来演示一下常指针与指向常量的指针的区别: #include "stdafx.h" int main(int argc, char* argv[]) { //const变量定义的方式 //第一种定义方式 const在类型的前面 const int var = 100; //第二种定义的方式 const在类型的后面 int const var2 = 999; //以上两种定义

焦雨晗 1028

关于C++中的常指针/指向常数的指针/指向常数的常指针的测试

#include &amp;lt;iostream&amp;gt; using namespace std; int main(int argc, const char * argv[]) { cout&amp;lt;&amp;lt;&quot;测试1:常指针&quot;&amp;lt;&amp;lt;endl; int a=1; int a2=10; int *const p1 = &amp

qq_43519498的博客 357

搬砖: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++学习笔记】20.常指针&指向常量的指针&指向常量的常指针

1、常指针:指针不能被修改,但指向的数据可以被修改,定义方法如下: int *const p 此时p只能被初始化一个内存地址,当试图对p做p++、p=p1等操作时,编译器将提示出错。 2、指向常量的指针:指针可以被修改,但其指向的数据不能被修改,定义方法如下: const int *p此时p可以进行修改,但是其指向的数据的值则不能被修改。 3、指向常量的常指针

wwjra的博客 587

指针常量与常指针

以前弄不明白指针常量与常指针的区别,最近读了《C++Primer》,总算是恍然大悟,特此与大家一起分享我的收获。 这两样东西在原文中称为const pointer(指针常量)和pointer to const(指向常量的指针,简称常指针)。英文名似乎比中文翻译清晰多了,前者是一个常量,而且这个常量是指针类型;后者是一个指针,而且这个指针指向一个常量。 那么在定义的时候这两种是有区别的,它们的使

u010829418的专栏 837

指向变量的常指针和指向常变量的指针

刚接触到指针时,关于指向变量的常指针和指向常变量的指针容易混淆,所以整理下,希望能够帮助自己也帮助到大家。 常(量)指针 常指针就是我们说的指向常量的指针,顾名思义,它是用来指向常量的。 用常指针指向常变量 实际上,C++规定只能用指向常变量的指针指向常变量,普通指针指向它就会报错,原因也很容易理解,我们用普通指针指向常变量之后,有可能就会进行改变常变量数值的操作,这样做是不被允许

学如逆水行舟,不进则退 5296

C++ 快速理解数组名为何是常指针

小白对数组名为何是常指针而感到疑惑?本人通过动态分配、数组指针实例带你在几分钟内重新认识

Q_3603的博客 699
上一篇: 常对象、常数据成员、常成员函数总结
下一篇: 数据结构:抽象数据类型的表示与实现
SuperGao1314
博客等级 码龄9年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值