C++ *&的简单理解

196 阅读1分钟
  • p是内存地址,可以通过*p取出来
    • 可以认为*是 p 的可操作符号 即p是内存地址
int * p = &a
  • p是值,跟a有相同的地址,或者说是别名
    • 可以认为&是 p 的可操作符号 即p是内存数值
int & p = a
p = 20;
//这段代码可以转换为
int* const p = &a;
*p = 20;
  • q是内存值,&q是内存地址,* 是 &q的可操作符
int  a = 3;
int *p = &a; //这里p是内存地址
int *&q = p; //q的可操作性符为& 并进行操作&q = p 且*是q的可操作符号