我不明白: 有什么区别:
string Str ("Str");
char &C = Str [0];
和此:
string Str ("Str");
char *C = Str;
我实际上并不理解这个声明:
char &C = Str [0];
答案 0 :(得分:1)
指针(char * C)和参考(char& C)之间的差异:
char &C
,必须写char &C = ...;
,但char *C;
没问题。换句话说,指针可以具有NULL值,并且可以使用指针执行算术运算。
同样char &C
的方式等于char * const C
。
答案 1 :(得分:0)
char &C = Str [0];
这使C
成为对Str[0]
的引用。引用是访问变量的另一种方法。它基本上只是一种更优雅的方式来做指针所做的事情。 There are some differences.
答案 2 :(得分:0)
char &C = Str [0];
这会将c
引用到Str
的第一个成员。访问c
将访问Str[0]
。
char *C = Str;
此处,c
指向指向Str
的第一个成员。访问c
将不访问Str[0]
。访问*c
会。