1068得票14回答
C++函数对象是什么?它们有什么用途?

我一直听到在C++中有关functor的许多内容。能否给我一个概述,告诉我它们是什么以及在什么情况下它们会有用?

86得票12回答
为什么要重载运算符()?

在Boost Signals库中,它们重载了() 运算符。 这是C++中的一种约定吗?用于回调等情况? 我在一个同事(碰巧是个大Boost粉丝)的代码中看到过这个。尽管Boost有很多好处,但这只让我感到困惑。 您能解释一下为什么要进行这种重载吗?

24得票3回答
为什么 lambda 的调用运算符默认是 const 的?

我在下面的函数中有一个小的“Lambda表达式”: int main() { int x = 10; auto lambda = [=] () { return x + 3; }; } 以下是上述lambda表达式生成的“匿名闭包类”。 int main() { ...

16得票2回答
在函数调用中,运算符是什么?操作数又是什么?

我正在尝试理解C语言的一些基础知识。KRC的《C程序设计语言》中说: 函数调用是后缀表达式,称为函数名,后跟包含可能为空的逗号分隔赋值表达式列表(Par.A7.17)的括号,这构成了函数的参数。 在函数调用中,什么是运算符,什么是运算数? () 是运算符吗? 函数名是一个运算...

11得票4回答
如何为一个结构体实现 Fn trait 以支持不同类型的参数?

我有一个简单的分类器:struct Clf { x: f64, } 分类器如果观测值小于x返回0,大于x返回1。我想为这个分类器实现调用运算符,但函数应能够接受浮点数或向量作为参数。对于向量,输出是一个大小与输入向量相同的0或1向量。let c = Clf { x: 0 }; let ...

7得票2回答
函数调用运算符

可能重复: C++ Functors - and their uses. 为什么要重载 operator() ? 我看到在STL容器中使用了 operator(),但它是什么以及何时使用它?