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

相关推荐
Java天梯之路15 小时前
手撸 Spring 简易版 AOP
java·spring boot·面试
im_AMBER15 小时前
Leetcode 75 数对和 | 存在重复元素 II
c++·笔记·学习·算法·leetcode
Java天梯之路16 小时前
Spring AOP 源码深度解析:从代理创建到通知执行的完整链路
java·spring boot·面试
ZXF_H16 小时前
C/C++ OpenSSL自适应格式解析证书二进制字节流
c语言·开发语言·c++·openssl
毕设源码-邱学长16 小时前
【开题答辩全过程】以 基于C#的超市管理系统为例,包含答辩的问题和答案
开发语言·c#
小光学长16 小时前
基于web的影视网站设计与实现14yj533o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
何中应16 小时前
【面试题-2】Java集合
java·开发语言·后端·面试题
BullSmall16 小时前
Tomcat SSL 配置及常见问题
java·tomcat·ssl
a程序小傲16 小时前
scala中的Array
开发语言·后端·scala
WXG101116 小时前
【Flask-8】程序打包
开发语言·python