社区
C++ 语言
帖子详情
关于cout的一个疑问
一个人单干
2009-03-31 07:51:53
对于字符类型以外的数组与指针,使用cout输出的是地址,但对于字符数组与字符指针,用cout输出的是字符串。
这是为什么?谁能用cout的函数原型解释一下
...全文
79
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/C++为了性能考虑对内建数组的很多行为进行了限制,比如不允许数组的复制。而为了易用性牺牲了一部分性能,允许复制。其次vector可以在运行期间改变元素个数,这个对于内建数组是不支持的,内建数组的大小在编译期间就确定了。 1.3.构造与初始化 聚合初始化:因为在语言的发展过程中是先出现了内建数组,后来出现了,因此为了保证和内建数组一些特性相同,有聚合初始化的方式。 其他初始化方式 缺省初始化:vector是一
C++剖析
cout
<<“hello world“<<endl;
什么是
cout
cout
是
一个
对象 它的作用是把通过<<输入它的消息显示在屏幕上(具体怎么实现可以暂时不用了解。这就是对象的好处之一,你可以不需要理解它的内部工作原理,只要知道怎么用就行)
cout
<<"aa"这句语句的含义就是把字符串"aa"插入到输出流中去,插入之后对象
cout
会自动想办法把插入的流显示到屏幕上。 什么是<< <<和左移运算符一样 你可能会
疑问
为什么左移运算符可以表示插入 这里是使用了运算符重载,<<被重载成了插入运算
float printf 和
cout
疑问
#include #include using namespace std; int main() { const double PI = 3.14159265358979612; const double PP = 0.14159265358979612; const float ss = 3.1415f; const
cout
声明与定义
头文件 iostream 中 有如下声明: __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream
cout
; 此处为声明 那么,
cout
的定义在什么地方??? 答: 在 Microsoft Visual Studio 10.0\VC\crt\src 目录下 有个源文件
cout
.cpp 其中定义如下: __PURE_APPDOMAI...
cout
输出静态变量引起的
疑问
。
cout
输出静态变量引起的
疑问
。 ```cpp #include<iostream> using namespace std; int next() { static int x=1; x++; return x; } int main() {
cout
<<next()<<next()<<next()<<...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章