*符号
1)在定义变量时使用*,表明此变量是一个指针,例如:
int a = 10;
int *b =&a;
cout<<a<<endl;
cout<<b<<endl;//b是指针,值是一个内存地址
执行,控制台输出:
10
0x7fffccdfb434
&在这里的作用是取a的地址。
2)*操作符用在指针变量前表示取此指针指向的值。
int a = 10;
int *b =&a;
cout<<a<<endl;
cout<<b<<endl;
cout<<*b<<endl;//b是指针,*b取出此地址对应的内存存储的变量
执行,控制台输出:
10
0x7fff0826b8a4
10
&符号
1)用在定义变量时,说明这个变量是对原来变量的引用。
int a = 10;
int &c = a;
cout<<a<<endl;
cout<<c<<endl;
cout<<&a<<endl;//&a表示取a的地址
cout<<&c<<endl;//&c表示取c的地址,因为c是a的引用,所以值与&a相同
执行,控制台输出:
10
10
0x7fff80ad6114
0x7fff80ad6114
第二个和第三个&的作用是取地址。
2)用在变量前面,就是取此变量的地址。