如何使用 C 的 cout 输出指针地址
当尝试使用 cout 打印字符指针时,流决定处理它作为字符串而不是地址。出现此行为的原因是重载解析,其中 cout 选择与参数类型匹配的运算符。
在这种情况下,cout 选择为打印 C 样式字符串定义的运算符:
<code class="cpp">ostream& operator<<(ostream& o, const char *c);
但是,您需要选择打印指针的重载:
<code class="cpp">ostream& operator<<(ostream& o, const void *p);
要将 char 指针显式转换为通用指针,请使用以下语法:
<code class="cpp">cout << static_cast<void *>(cptr) << endl;</code>
此转换通知 cout您打算输出指针的地址而不是它指向的字符串。
以上是如何用C的cout打印指针地址?的详细内容。更多信息请关注PHP中文网其他相关文章!