首页  >  文章  >  后端开发  >  如何用C的cout打印指针地址?

如何用C的cout打印指针地址?

DDD
DDD原创
2024-11-04 00:22:30213浏览

How to Print a Pointer Address with C  's cout?

如何使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn