【发布时间】:2014-03-08 11:24:00
【问题描述】:
我想知道:如果例如std::endl 是一个常规函数,那么为什么它缺少调用运算符(operator())?
我知道它被设计为与插入 (<<) 和提取 (>>) 运算符一起使用。我试着这样称呼它:
std::endl.();
但这当然没有用。
【问题讨论】:
-
函数没有“呼叫操作员”。只有类可以。可以调用函数,因为这是核心语言的一部分。
printf也没有呼叫接线员。 -
致电
std::endl()时您期望什么? -
完全不是答案,但如果您正在尝试拼写函数调用运算符,并且如果它存在,它将被拼写为:
std::endl.operator()(args);
标签: c++ c++11 manipulators