读书人

为啥这个函数的输出是这样

发布时间: 2013-01-18 10:22:42 作者: rapoo

为什么这个函数的输出是这样?


#include <iostream>
int main(int argc, char* argv[]){
const char* str="Hello, world!\n";
std::cout.operator<<(str);
std::cout<<str;
return 0;
}

使用g++命令编译,结果为:

0x403064Hello, world!

[解决办法]
引用:
格式化输出:
1. 成员函数: ostream::operator <<, 支持整数(不包括字符类型),浮点数,bool, const void*等。
2。全局函数: operator<<(ostream& os, T const&), 支持字符,字符串和自定义类型

cout.operator<<(...)实际上调用的是cout(即ostream)重载的成员方法。

读书人网 >C++

热点推荐