C++ &;之间的区别是什么;c和*c声明?
我不明白: 以下两者之间的区别是什么:C++ &;之间的区别是什么;c和*c声明?,c++,C++,我不明白: 以下两者之间的区别是什么: string Str ("Str"); char &C = Str [0]; 这是: string Str ("Str"); char *C = Str; 实际上,我不理解这个声明: char &C = Str [0]; ? 这使得C成为对Str[0]的引用。引用是访问变量的另一种方式。这基本上只是一种更优雅的方式来做指针所做的事情 这将c引用Str的第一个成员。访问c将访问Str[0] char *C = Str; 这里,c指向S
string Str ("Str");
char &C = Str [0];
这是:
string Str ("Str");
char *C = Str;
实际上,我不理解这个声明:
char &C = Str [0];
?
这使得C
成为对Str[0]
的引用。引用是访问变量的另一种方式。这基本上只是一种更优雅的方式来做指针所做的事情
这将c
引用Str
的第一个成员。访问c
将访问Str[0]
char *C = Str;
这里,
c
指向Str
的第一个成员。访问c
将不访问Str[0]
。访问*c
将。指针(char*c)和引用(char&c)之间的差异:char&C
,必须写char&C=代码>,但char*C代码>正常。
另外,
char&C
在某种程度上等同于char*const C
将引用视为常量指针非常感谢,我不得不“混合”你的答案和其他答案,但你的答案对我来说更“清晰”。再次感谢
char &C = Str [0];
char *C = Str;