问题几乎在标题中.根据C++ Reference,std::endl实际上是一个函数.看看它的声明<iostream>,这可以得到验证.
但是,当您使用时std::endl,您不使用std::endl().相反,你使用:
std::cout << "Foo" << std::endl;
Run Code Online (Sandbox Code Playgroud)
实际上,如果您使用std::endl(),编译器需要更多参数,如上面的链接所示.
有人会解释这个吗?有什么特别之处std::endl?我们可以在调用时实现不需要任何括号的函数吗?