替代 ->operator()

Alternative to ->operator()

如果 objp 是指针,是否有比调用 objp->operator()(x, y, z) 更好的语法? &objp(x, y, z) 不起作用。由于所有的符号,这很难Google。抱歉,这很愚蠢。

(*objp)(x, y, z); 将是显而易见的选择。我不确定你是否认为那更好。

您可以使用 (*objp)(x, y, z); 作为替代。

分两行;

MyType&  functorRef  = *objp;   // Use the appropriate type name.
functorRef(x, y, z);

或者在 C++11 中你可以使用 auto。

auto&  functorRef  = *objp;
functorRef(x, y, z);