You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何输出const char类型?为何不能用cout<<*pDept替代cout<<pDept?

问题解答

先看代码里的核心定义:

const char* pDept = "electronics";

这里的pDept是一个指向字符的指针,它存储的是字符串"electronics"首字符'e'的内存地址。

  • 当你写cout << pDept时,C++标准库对std::ostream(也就是cout)有专门的重载逻辑:遇到char*类型的输入时,会自动从指针指向的地址开始,逐个输出字符,直到碰到字符串结束符'\0',所以最终会输出完整的electronics。
  • 而*pDept是对指针的解引用操作,它取的是指针指向的内存地址里存储的单个字符——也就是字符串的第一个字符'e'。所以cout << *pDept只会输出一个e,完全达不到原来输出整个部门名称的效果。

直白点说:pDept是整个字符串的"入口地址",cout会顺着这个地址读完所有字符;*pDept只是入口处的第一个字符,只能输出这单个字符。

内容的提问来源于stack exchange,提问作者coreacoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:35:28