cout<<unitbuf让我困惑了一会儿,这是个什么玩意,查了一下,发现unitbuf是个函数,也就是说,你也可以这么写
unitbuf(cout),两者是完全等效的,相当于cout所属的类重载了一个<<运算符,如果不理解,看如下一个简单的例子
int test(int &i) {
return i;
}
class mytest {
public:
int x;
mytest() {
x=10;
}
int &operator<<(int func(int&)) {
return x;
}
};
void main() {
mytest a;
cout<<(a << test);//注意这里的(a<<test)相当于test(a)
hex(cout);
cout << unitbuf;
cout << 15;
getchar();
}