&C和*C声明有什么区别?

what is the difference between &c and *c declaration?

本文关键字:什么 区别 声明      更新时间:2023-10-16

我不明白:之间的区别是什么

string Str ("Str");
char &C = Str [0];

这个:

string Str ("Str");
char *C = Str;

我实际上不理解这个声明:

char &C = Str [0];

指针(char*C(和引用(char&C(之间的差异:

  1. 引用必须立即初始化,而指针可能不初始化-不能只写char &C,必须写char &C = ...;,但char *C;可以。
  2. 一旦初始化,引用就不能更改它所引用的地址,而指针可以

换句话说,指针可以具有NULL值,并且可以使用指针执行算术运算。

此外,CCD_ 4在某种程度上等于CCD_ 5。

char &C = Str [0];

这使得C成为对Str[0]的参考。引用是访问变量的另一种方式。这基本上只是一种更优雅的方式来做指针做的事情。有一些区别。。

char &C = Str [0];

这将c引用到Str的第一个成员。访问c将访问Str[0]

char *C = Str;

这里,c指向Str的第一个成员。访问c不会访问Str[0]。访问*c将。