深挖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 的值拷贝到其中。

相关推荐
weiabc1 分钟前
今日C/C++学习笔记20260223
c语言·c++·学习
南 阳13 分钟前
Python从入门到精通day56
开发语言·python
悲伤小伞16 分钟前
9-MySQL_索引
linux·数据库·c++·mysql·centos
xiaohe0717 分钟前
Maven Spring框架依赖包
java·spring·maven
m0_5698814720 分钟前
C++中的组合模式高级应用
开发语言·c++·算法
m0_7301151124 分钟前
高性能计算负载均衡
开发语言·c++·算法
灰色小旋风31 分钟前
力扣19删除链表的倒数第N个结点(C++)
c++·算法·leetcode·链表
孞㐑¥32 分钟前
算法—记忆化搜索
开发语言·c++·经验分享·笔记·算法
xushichao198934 分钟前
代码覆盖率工具实战
开发语言·c++·算法
2401_8579182935 分钟前
C++与WebAssembly集成
开发语言·c++·算法