深挖C++赋值

详解赋值

cpp 复制代码
const int a = 10;
int b = a;

&a

0x000000b7c6afef34 {56496}

&a

0x000000b7c6afef34 {10}

&b

0x000000b7c6afef54 {10}

总结: int a = 10 是指在内存中(栈)中创建一个int (4 byte)大小的空间,以小端字节序存储(低位在前,高位在后),即:0x0A 0x00 0x00 0x00,a 本身是一个 变量名,它代表了分配在栈上的那块内存空间。

内存地址:当你使用变量 a 时,你实际上是在使用栈中为 a 分配的 内存空间。你可以通过 取地址操作符 & 获取这个内存地址:&a。

int b = a; 不是将 a 对应的内存地址 新添一个变量名b指向它( const int& b = a;),而是在栈上新建一个 int 类型的内存块, 将 a 的值拷贝到其中。

相关推荐
lly2024067 分钟前
HTML 元素:构建网页的基础
开发语言
低调小一8 分钟前
LRU缓存科普与实现(Kotlin 与 Swift)
开发语言·缓存·kotlin
爱好学习的青年人8 分钟前
一文详解Go语言字符串
开发语言·后端·golang
沐怡旸10 分钟前
【底层机制】std:: function 解决的痛点?是什么?如何实现?如何正确用?
c++·面试
Chan1611 分钟前
批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,优化批量操作
java·spring boot·后端·性能优化·java-ee·intellij-idea·优化
行者阿毅12 分钟前
langchain4j+DashScope (通义千问)文生图
java·ai作画
Bug退退退12321 分钟前
Java 网络流式编程
java·服务器·spring·sse
IT机器猫21 分钟前
RabbitMQ
java·rabbitmq·java-rabbitmq
小杨的全栈之路25 分钟前
冒泡、插入、选择、归并、堆排序:从名字由来到Java实现,一篇讲透
java·排序算法
浅川.2526 分钟前
xtuoj string
开发语言·c++·算法