<分区>
在C++中调用函数时,函数名后接()
以区别函数调用。为什么我不能以相同的方式调用流操纵器函数?
为什么不允许这样做?:
cout << "Hello!" << endl();
endl
不是一个保存\n
的变量吗?
谢谢!
标签 c++ manipulators
<分区>
在C++中调用函数时,函数名后接()
以区别函数调用。为什么我不能以相同的方式调用流操纵器函数?
为什么不允许这样做?:
cout << "Hello!" << endl();
endl
不是一个保存\n
的变量吗?
谢谢!
最佳答案
操纵器是专门设计用于与流对象上的插入 (<<) 和提取 (>>) 运算符结合使用的函数,例如:
cout << boolalpha;
它们仍然是常规函数,也可以像使用流对象作为参数的任何其他函数一样调用,例如:
boolalpha (cout);
所以,在你的代码中,你可以这样做
cout << "Hello!";
endl(cout);
代替
cout << "Hello!" << endl;
Source .
关于c++ - C++中的流操纵器如何成为函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23043127/