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

相关推荐
SimonKing6 分钟前
深入理解HanLP1.x,填平可能遇到的坑
java·后端·程序员
尘心不灭13 分钟前
MyBatis 缓存与 Spring 事务相关笔记
java·spring·mybatis
watson_pillow28 分钟前
mfc按钮点击事件没有触发,且程序卡死
c++·mfc
Java中文社群30 分钟前
说说内存泄漏的常见场景和排查方案?
java·后端·面试
_Kayo_1 小时前
JS深拷贝 浅拷贝、CSS垂直水平居中
开发语言·前端·javascript
云天徽上1 小时前
【数据可视化-87】2023-2024年中国各省人口变化深度分析与可视化:Python + pyecharts打造炫酷暗黑主题大屏
开发语言·python·信息可视化·数据可视化·pyecharts
404未精通的狗1 小时前
(C++)继承全解析及运用
开发语言·c++
李永奉1 小时前
C语言—数组和指针练习题合集(二)
c语言·开发语言
xo198820111 小时前
鸿蒙Des 加密解密 C++版本
c++·华为·harmonyos
C4程序员1 小时前
北京JAVA基础面试30天打卡08
java·开发语言·面试