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

相关推荐
MinBadGuy5 分钟前
【GeekBand】C++设计模式笔记11_Builder_构建器
c++·设计模式
baozhengw26 分钟前
IntelliJ+SpringBoot项目实战(七)--在SpringBoot中整合Redis
java·spring boot·redis
羊小猪~~34 分钟前
前端入门一之ES6--递归、浅拷贝与深拷贝、正则表达式、es6、解构赋值、箭头函数、剩余参数、String、Set
开发语言·前端·javascript·css·正则表达式·html·es6
code_shenbing1 小时前
跨平台WPF框架Avalonia教程 十四
开发语言·ui·c#·wpf
服务端相声演员2 小时前
IOException: Broken pipe与IOException: 远程主机强迫关闭了一个现有的连接
java·服务器·网络
灰阳阳2 小时前
2022年蓝桥杯JavaB组 省赛 题目解析(含AC_Code)
java·职场和发展·蓝桥杯·省赛·超详解
932我2 小时前
C++中的组合模式
开发语言·c++·组合模式
皎味小行家2 小时前
第三十二天|动态规划| 理论基础,509. 斐波那契数,70. 爬楼梯 ,746. 使用最小花费爬楼梯
java·数据结构·算法·leetcode·动态规划
MrJson-架构师2 小时前
java 操作Mongodb
java·开发语言·mongodb
红中马喽2 小时前
JS学习日记(jQuery库)
开发语言·javascript·笔记·学习·jquery