c++ 学习之类型,常量以及变量的重点知识

news2025/4/28 14:27:38

const 和 volatile 组合考点

const int ( * ) 等价于 int const ( * )

在这里插入图片描述
const int x = 1 ; 说明 x 是常量,无法修改

如何区分指针常量和常量指针

指针常量 为 先有指针后有常量 故为 形式如 : int * const p = & x ; 且const 修饰的是 p ,p是一个指针,所以 对于 p ,无法再用 p = & y ; 进行重新赋值
常量指针 可以 理解为 指向常量的指针,只要指向常量就行,可以更换指向的对象, 形式如 : const int * p = & x; 由于指向的是 常量,所以 *p = 5; 这种操作是违法的

深入了解

看代码

	int x = 1;
	const int* const y = &x;
	cout << *y << endl;
	cout << x << endl;
	x = 2;
	cout << *y << endl;
	cout << x << endl;

上面的代码是否正确,答案是 正确的,虽然无法通过 *y 来修改 x 的值,但是可以通过 直接修改 x 来改变

const , volatile , int 的任意组合 是等价的

在这里插入图片描述

学习指针

在这里插入图片描述

	void* p;
	int a = 1;
	p = &a;
	cout << *p << endl;

上面的代码有什么问题
将整数变量 a 的地址赋值给一个 void* 指针 p。void* 是一种无类型指针,它可以存储任何类型的地址,但它本身没有类型信息。这就是问题所在,因为您在之后尝试通过 *p 来访问该地址,这实际上是一种类型不匹配的操作,可能会导致未定义行为或错误。

就算换做下面的代码

	void* p;
	int a = 1;
	p = &a;
	*(int*)p = 2;
	cout << *p << endl;

也是错的,因为 p 本质还是 void * 类型的指针
要访问 a 的值,应该使用 int* 指针进行访问,如下所示:

void* p;
int a = 1;
p = &a;

// 将 void* 指针转换为 int* 指针,然后访问值
int* intPtr = static_cast<int*>(p);
cout << *intPtr << endl;

这样,您可以正确地将 void* 指针转换为 int* 指针,然后访问 a 的值。在这个示例中,输出将为 1,因为 a 的值是 1。

引用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1002905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Falcon 180B 目前最强大的开源模型

Technology Innovation Institute最近发布了Falcon 180B大型语言模型(LLM)&#xff0c;它击败了Llama-2 70b&#xff0c;与谷歌Bard的基础模型PaLM-2 Large不相上下。 180B是是Falcon 40B模型一个最新版本。以下是该模型的快速概述: 180B参数模型&#xff0c;两个版本(base和…

基于Python+Django实现一个电商购物网站系统

随着互联网的高速发展&#xff0c;电子商务行业也正迎来了其黄金时代。如何搭建一个功能完备、体验良好的电商网站成了许多开发者的关心话题。今天&#xff0c;我将带大家使用Python语言和Django框架&#xff0c;快速打造一个电商购物系统。如果你有一定的Python基础&#xff0…

java Math类中的random方法和Random类中方法的区别

文章目录 Math类中的random()方法Random类 Math类中的random()方法 Math类中的random()方法没有参数&#xff0c;它会默认返回等于0.0、小于1.0的double类型随机数。对double()方法返回的数字稍加处理&#xff0c;即可实现任意范围随机数的功能 public class MathTest {publi…

小白备战大厂算法笔试(六)——堆

文章目录 堆常用操作堆的实现存储与表示访问堆顶元素元素入堆元素出堆 常见应用建堆操作自上而下构建自下而上构建 TOP-K问题遍历选择排序堆 堆 堆是一种满足特定条件的完全二叉树&#xff0c;主要可分为下图所示的两种类型。 大顶堆&#xff1a;任意节点的值 ≥ 其子节点的值…

什么牌子的led台灯质量好?Led台灯品牌质量排行榜

台灯如何选择&#xff0c;随着人们生活水平的提高及科技的不断进步&#xff0c;台灯的品质也得到了极大的提高&#xff0c;在生活中很多时候都需要使用台灯&#xff0c;但是市面上的台灯那么多&#xff0c;台灯如何选择。推荐五款质量高的护眼台灯。 一、书客护眼台灯L1 书客…

Spring学习笔记——4

Spring学习笔记——4 一、基于AOP的声明式事务控制1.1、Spring事务编程概述1.2、搭建测试环境1.3、基于XML声明式事务控制1.4、基于注解声明式事务控制 二、Spring整合web环境2.1、JavaWeb三大组件作用及其特点2.2、Spring整合web环境的思路及实现2.3、Spring的Web开发组件spri…

基础术语和模式的学习记录

1 范围 本文件界定了政府和社会资本合作(PPP) 的基础术语&#xff0c;给出了政府和社会资本合作(PPP) 的 模 式 分类和代码。 本文件适用于政府和社会资本合作(PPP) 的所有活动。 2 规范性引用文件 本文件没有规范性引用文件。 3 基础术语 3.1 PPP 主体 3.1.1 政府和社…

Tensorflow 01(介绍)

一、Tensorflow 深度学习框架TensorFlow一经发布&#xff0c;就受到了广泛的关注&#xff0c;并在计算机视觉、音频处理、推荐系统和自然语言处理等场景下都被大面积推广使用&#xff0c;现在已发布2.3.0版本&#xff0c;接下来我们深入浅出的介绍Tensorflow的相关应用。 Tens…

Redis模块一:缓存简介

目录 缓存的定义 应用 生活案例 程序中的缓存 缓存优点 缓存的定义 缓存是⼀个高速数据交换的存储器&#xff0c;使用它可以快速的访问和操作数据。 应用 1.CPU缓存&#xff1a;CPU缓存是位于CPU和内存之间的临时存储器&#xff0c;它的容量通常远小于内存&#xff0…

Minio入门系列【1】Windows/Linux/K8S单机部署Minio

1 Minio简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象文件可以是任意大小&…

配置服务器实现无缝连接

在进行网络爬虫时&#xff0c;经常会面临目标网站的IP封锁、反爬虫策略等问题。为了解决这些问题&#xff0c;配置代理服务器是一种常见的方法。本文将向您介绍如何配置代理服务器与爬虫实现无缝连接&#xff0c;助您顺利进行数据采集。 一、了解代理服务器的作用 代理服务器…

数字经济时代,企业的核心竞争力究竟是什么?

数字经济时代&#xff0c;企业的核心竞争力是由技术、数据、创新等因素综合驱动的。主要包含以下部分&#xff1a; 1.数字化转型&#xff1a;企业成功进行数字化转型的能力至关重要。这涉及将数字技术集成到业务的所有领域&#xff0c;从根本上改变其运营方式以及为客户提供价…

买彩票能中大奖?用Java盘点常见的概率悖论 | 京东云技术团队

引言 《双色球头奖概率与被雷劈中的概率哪个高&#xff1f;》 《3人轮流射击&#xff0c;枪法最差的反而更容易活下来&#xff1f;》 让我们用Java来探索ta们&#xff01; 悖论1&#xff1a;著名的三门问题 规则描述&#xff1a;你正在参加一个游戏节目&#xff0c;你被要…

自动化运维——ansible (五十三) (02)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、模块 1.1 playbook 1.1.1 YMAL格式 1.1.2 playbook实例 1.1.3 Playbook常见语法 1.1.4 playbook编排多个hosts任务 1.2 roles 1.2.1 roles介绍 1.2.2 创建role…

【开发】视频监控平台EasyCVR分组批量绑定/取消通道功能的后端代码设计逻辑介绍

视频监控平台/视频存储/视频分析平台EasyCVR基于云边端一体化管理&#xff0c;可支持视频实时监控、云端录像、云存储、磁盘阵列存储、回放与检索、智能告警、平台级联等功能。安防监控平台在线下场景中应用广泛&#xff0c;包括智慧工地、智慧工厂、智慧校园、智慧社区等等。 …

GaussDB数据库SQL系列-SQL与ETL浅谈

目录 一、前言 二、SQL与ETL的概述 三、ETL过程中的SQL示例&#xff08;GaussDB&#xff09; 1、提取&#xff08;Extract&#xff09; 2、转换&#xff08;Transform&#xff09; 3、加载&#xff08;Load&#xff09; 四、附DataArts Studio介绍 五、小结 一、前言 …

如何像专业人士一样调试 Kubernetes 应用程序错误(一)

在当今迅速发展的技术景观中&#xff0c;从单体架构迁移到微服务架构正变得越来越普遍。然而&#xff0c;对于那些在这个领域经验较少的人来说&#xff0c;适应这些新资源可能会带来重大的挑战。 无论您是开发团队、DevOps、基础设施还是其他技术团队的一部分&#xff0c;本文…

万博智云加入光合组织,携手为信创发展贡献力量

日前&#xff0c;万博智云信息科技&#xff08;上海&#xff09;有限公司&#xff08;以下简称“万博智云”&#xff09;正式加入海光产业生态合作组织&#xff08;以下简称“光合组织”&#xff09;&#xff0c;并由海光产业生态合作组织颁发“海光产业生态合作组织成员单位证…

成都优优聚为什么值得信任?

成都优优聚能信任作为一家专业的电商服务公司&#xff0c;拥有丰富的经验和专业的团队&#xff0c;能够为商家提供全方位的美团代运营服务。 美团外卖作为国内领先的外卖平台&#xff0c;具有庞大的用户群体和丰富的商家资源。然而&#xff0c;美团代运营对于很多刚开始接触美团…

一文读懂高速电机主轴的技术特性及应用

在现代化的加工制造业中&#xff0c;高速电机主轴是不可或缺的重要设备&#xff0c;它的质量和性能直接影响加工效率和产品质量。本文将介绍高速电机主轴的技术特性及应用&#xff0c;更好地了解这一重要设备。 一、高速电机主轴的技术特性 1.高稳定性 高速电机主轴采用特殊…