我知道没有括号就不能调用函数,但是,假设我有这段源代码:
#include<iostream>
using namespace std;
ostream& test(ostream& os){
os.setf(ios_base::floatfield);
return os;
}
int main(){
cout<<endl<<scientific<<111.123456789;
cout<<endl<<test<<111.123456789;
}
/// Output:
/// 1.11235e+002
/// 111.123
左移运算符没有任何重载,但是当我test(ostream& os)
在cout
at函数中调用该函数时main
,它不需要任何括号。我的问题是为什么?