社区
C++ 语言
帖子详情
关于cout的一个疑问
一个人单干
2009-03-31 07:51:53
对于字符类型以外的数组与指针,使用cout输出的是地址,但对于字符数组与字符指针,用cout输出的是字符串。
这是为什么?谁能用cout的函数原型解释一下
...全文
81
6
打赏
收藏
关于cout的一个疑问
对于字符类型以外的数组与指针,使用cout输出的是地址,但对于字符数组与字符指针,用cout输出的是字符串。 这是为什么?谁能用cout的函数原型解释一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mengde007
2009-03-31
打赏
举报
回复
cout是iostream类的一个对象,它的一个成员operator<<运用了重载机制,因此能承受多种类型
liliangbao
2009-03-31
打赏
举报
回复
cout原型不知,但是我理解是:
cout输出字符数组与字符指针就是输出字符串,可能是和传统的c输出函数统一吧!毕竟C++是C的升级版~
ydntlk
2009-03-31
打赏
举报
回复
cout是ostream的类对象。ostream是一个类模板。
ostream重载了操作符<<,可以输出字符串。
yangqidong
2009-03-31
打赏
举报
回复
cout不是函数,是一个预定义的对象
对输出起作用的实际是<<符号的重载函数,这个函数接受很多种类型参数,建议看看运算符重载
Paradin
2009-03-31
打赏
举报
回复
操作符重载
库定义的行为
basic_ostream& operator<< (bool& val );
basic_ostream& operator<< (short& val );
basic_ostream& operator<< (unsigned short& val );
basic_ostream& operator<< (int& val );
basic_ostream& operator<< (unsigned int& val );
basic_ostream& operator<< (long& val );
basic_ostream& operator<< (unsigned long& val );
basic_ostream& operator<< (float& val );
basic_ostream& operator<< (double& val );
basic_ostream& operator<< (long double& val );
basic_ostream& operator<< (void*& val );
basic_ostream& operator<< (basic_streambuf<charT,traits>* sb );
basic_ostream& operator<< (basic_ostream& ( *pf )(istream&));
basic_ostream& operator<< (basic_ios<charT,traits>& ( *pf )(basic_ios<charT,traits>&));
basic_ostream& operator<< (ios_base& ( *pf )(ios_base&));
template <class charT, class traits>
basic_ostream<charT,traits>& operator<< (basic_ostream<charT,traits>& os, charT ch );
template <class charT, class traits>
basic_ostream<charT,traits>& operator<< (basic_ostream<charT,traits>& os, char ch );
template <class charT, class traits>
basic_ostream<charT,traits>& operator<< (basic_ostream<charT,traits>& os, const charT* str );
template <class charT, class traits>
basic_ostream<charT,traits>& operator<< (basic_ostream<charT,traits>& os, const char* str );
// template specializations:
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, char ch );
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, signed char ch );
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, unsigned char ch );
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, const char* str );
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, const signed char* str );
template <class traits>
basic_ostream<char,traits>& operator<< (basic_ostream<char,traits>& os, const unsigned char* str );
一个人单干
2009-03-31
打赏
举报
回复
发重了 大家去这个帖子吧 双倍给分
http://topic.csdn.net/u/20090331/19/06090f08-e662-4e40-8306-fe4f3863a1ef.html
C++基础第3章:数组、vector与字符串(3)——vector、string
本文深入探讨了C++标准库中的std::vector类模板,对比了它与内建数组的差异,详细介绍了其构造与初始化、方法、元素索引与遍历以及迭代器的使用。同时,文章提到了std::string的使用,并对
一个
关于std::
cout
输出指针内容的
疑问
进行了说明。
C++剖析
cout
<<“hello world“<<endl;
本文主要介绍了C++中的
cout
、<<和endl。
cout
是
一个
对象,可将输入消息显示在屏幕上;<<是被重载的插入运算符,用于将右边信息以流的方式插入左边的
cout
;endl是特殊符号,表示重启一行。还对比了endl和’\n’,二者都可换行,但endl能确保刷新输出。
float printf 和
cout
疑问
本文通过
一个
简单的C++程序演示了不同类型的浮点数如何在控制台中被输出,对比了使用标准输出流
cout
与printf的区别,并讨论了默认的有效位数与小数位数。
cout
声明与定义
本文详细解析了C++中标准输出流std::
cout
的声明与定义过程,揭示了其在头文件iostream中的声明及在
cout
.cpp源文件中的具体定义细节。
cout
输出静态变量引起的
疑问
。
探讨C++中静态变量的特性及
cout
输出顺序的疑惑,解析为何输出为5432而非预期的2345,深入理解静态变量的工作原理。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章