为您找到"
C 中cout将字符型指针当做字符串名处理???=
"相关结果约100,000,000个
既然这样,那么我们就别让它知道那是字符型指针,所以得用到强制类型转换,不过不是C的那套,我们得用static_cast来实现,把字符串指针转换成无类型指针,因为void型, cout没法输出,只能乖乖输出指针。
1、字符串指针无法输出地址值的原因: 由于C++标准库中I/O类对 <<操作符重载,因此 在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。
c++ 专栏收录该内容 12 篇文章 订阅专栏 目录 char* 类型 1.打印指向的字符串 2.打印指针指向的地址 问题描述 解决方法 char型数组 1. 想要输出字符串 2. 想输出字符数组的地址 printf 和cout 的对比 1.打印首字符 2.打印字符串 3.打印字符串首地址 💗感谢阅读! 💗
cout为流对象,自动识别输出数据的类型,对于字符地址,即指针类型,就是输出其所在地址区间的所有字符,直到字符串结束符'\0'为止。
所以由于 char* (或者 charT*)比 void* 更加特化(不知道特化是什么没关系,以后会学到),在 【cout << p】且 p 的类型是 char* 的情况下,负责输出字符串的 operator<< 重载会被调用。
文章浏览阅读4.9k次,点赞2次,收藏20次。C++ ostream类为下面的指针类型定义了插入运算符函数:const signed char *;const unsigned char *;const char *;void *;C++用指向字符串存储位置的指针来表示字符串,指针的形式可以是char数组名,显式的char指针或用引号括起来的字符串。 下面是一个简单输出字符串的例子 ...
兄弟,醒醒吧,咱们要写的是C++代码,不要总是抓着C不放嘛。 好了,我们来分析一下,由于C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。
原因是C++标准库中I/O类对<<操作符重载,在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。 既然这样,那么我们就别让它知道那是字符型指针,所以得用到强制类型转换,用static_cast把字符串指针转换成无类型指针
兄弟,醒醒吧,咱们要写的是C++代码,不要总是抓着C不放嘛。 好了,我们来分析一下,由于C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。
好了,我们来分析一下,由于C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。