我没有学过操作系统方面的知识。思考下变量、指针与值之间的关系。多多指教!
在内存中,首先一个指针对应一个值,这个无庸质疑。而一个值,可以对应多个变量名(一个变量和多个引用),也可以对应多个指针名。
既然如此,设计数据表谁不会。于是,我大胆猜想下内存是如何组成value、pointer与names的?
我在想操作系统一定是通过datas管理与names管理相解决的,而pointer是它们之间的关联。
(以下指针都是乱编的,每次定义变量,申请的内存都不一样)
从上图可看出c与e都指向了内存(0x67860109)
下面我们用C++代码分解下:
简单定义变量
定义并初始化变量
内存块只能通过指针与引用来复用
可见,常规变量之间赋值,会创建新内存块。不用指针与引用是无法做到内存数据块复用的
可见,引用其实就是变量