【发布时间】:2021-08-08 12:15:59
【问题描述】:
char p;
cout << &p;
这不会打印字符 p 的地址。它打印一些字符。为什么?
char p;
char *q;
q = &p;
cout << q;
即使这样也没有。为什么?
【问题讨论】:
-
&p等同于char*,<<运算符具有特殊的重载,可将char*视为以空值结尾的 C 字符串。 -
printf 在这里更加优雅。
printf("%p\n", (void *)pointer);