了解计算机存储结构
cpu: 是大脑执行二进制指令 cpu中含有寄存器,该寄存器没有地址,用于临时保存内存中的数据,一般情况下32位有8个寄存器,64位有16个寄存器,寄存器的特点访问速度非常快,容量非常小
PAM :访问速度快,容量一般,一但掉电数据就没了
磁盘 :访问速度慢容量巨大,永久性保存数据,同时是访I/O的短板
左值和右值的概念
按字面意思,通俗地说。以赋值符号 = 为界,= 左边的就是左值(lvalue),= 右边就是右值(rvalue)。
int a = 666;
左值 右值
int b = 888;
左值 右值
int c = a + b;
左值 右值 右值
当计算机执行int c = a+b时 变量a和b的值会导到寄存器,cpu进行计算,并把计算得到的值复制给在内存中占有确定位置的变量c(因此多线程同时对一个变量数值进行++操作,得到的数值,与单线程不同)
lvalue - 代表一个在内存中占有确定位置的对象(换句话说就是有一个地址)。
rvalue - 通过排他性来定义,每个表达式不是lvalue就是rvalue。因此从上面的
lvalue的定义,rvalue不在内存中占有确定位置的表达式,而是存在在寄存器中。
所有的左值(无论是数组,函数或不完全类型)都可以转换成右值