c++引用与指针
在学习c++中发现了一个用法,__doapl函数的返回类型为complex的引用,然而return的是ths的对象。对于引用的赋值应该是complex &r = ······(complex类型的变量名);
inline complex& __doapl (complex* ths, const complex& r)
{
ths->re += r.re;
ths->im += r.im;
return *ths;
}
因此我有我的一个看法
int a = 2023;
int *p = &a;//p是指向a的指针变量,*是变量标识
//那么通过解引用符号*是不是可以得到 *p = a
此外我还发现了一个有意思的东西
#include<iostream>
using namespace std;
int main()
{
int a = 2016;
int *p = &a;
int &r = a;
printf("a = %d, r = %d, *p = %d\n", a, r, *p);
printf("a的地址是:%p\n", &a);
printf("r的地址是:%p\n", &r);
printf("p的指向是:%p\n", p);
}
结果为
a = 2016, r = 2016, *p = 2016
a的地址是:00000000006ffe0c
r的地址是:00000000006ffe0c
p的指向是:00000000006ffe0c
三者的值一样,a和r的地址一样,r就像是a的别名,通过a可以找到2016通过r同样可以。