问题标签 [function-call-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
71633 浏览

c++ - 为什么要覆盖 operator()?

Boost Signals库中,它们重载了 () 运算符。

这是 C++ 中的约定吗?对于回调等?

我在一位同事的代码中看到了这一点(他恰好是 Boost 的忠实粉丝)。在所有 Boost 的优点中,这只会让我感到困惑。

关于这种超载的原因有什么见解吗?

0 投票
14 回答
533799 浏览

c++ - 什么是 C++ 函子及其用途?

我一直听到很多关于 C++ 中的函子的信息。有人可以概述一下它们是什么以及它们在什么情况下有用吗?

0 投票
2 回答
12209 浏览

c++ - 函数调用运算符

可能的重复:
C++ 函子 - 及其用途。
为什么要覆盖 operator() ?

我已经看到了operator()在 STL 容器上的使用,但它是什么以及你什么时候使用它?

0 投票
4 回答
1554 浏览

c++ - void Classname::operator()(){ .... } 做什么?

我正在处理一些 C++ 代码并遇到以下问题

我认为这与重载构造函数有关,但有人可以详细说明吗?

0 投票
2 回答
5094 浏览

c++ - C++中的重载赋值和圆括号运算符

我想定义一个支持赋值operator=和括号访问的类 myVector,例如myclass(1) = 0.5。请参阅下面的虚拟示例

此代码无法编译,因为()未定义为常量函数。这是因为我想启用直接分配,例如myvector(1) = 2. 要解决这个问题,我只能想到两个解决方案。一是定义某事。喜欢double getValue(int i) const,但这似乎很奇怪,因为添加了一些重复的代码。另一种是const从函数的签名中删除(),但这也是不可取的。我相信会有一个很好的解决方法,但我找不到它。

0 投票
1 回答
604 浏览

c++ - C++ - 模板函数调用运算符重载 - 错误 C2064

我正在尝试在 c++ 中重载函数调用运算符,但我遇到了无法解决的编译错误(Visual Studio 2010)。

错误在行act(4);

0 投票
2 回答
206 浏览

c++ - 重载函数调用运算符和返回类型

我正在设计一个小数学库。我有代表函数类的类,例如多项式。当它们被实例化时,会提供所需的参数 (a1, a2, a3),因此对象实际上表示特定的多项式 (a1*x^2 + a2*x + a3)。

然后我想提供在某个点(x = 3,y =?)评估函数的功能。我已经阅读了这个 wiki和 Thinking in C++, Vol. 12 的第 12 章。1布鲁斯·埃克尔。他们都说我应该根据运算符的“含义”来决定是否重载。我不是一个经验丰富的 C++ 程序员,但据我所知,如果我有一个代表函数的类,并且我使用obj(x)我期望的值y是函数在那个x.

问题出现在维度上:我也必须表示向量函数(http://en.wikipedia.org/wiki/Vector_function),比如 a1*x1 + a2*x2,我会有这样的签名:operator()(real x1, real x2)。我的问题是返回类型。如果 y1 = a1*x1 + a2*x2 是一个向量(无论是在数学上还是在 C++ 中),我应该按值还是按引用返回 y1?我还应该提供一个const版本吗?

PS 这是我在 Stackoverflow.com 上的第一个问题,所以请告诉我问题是否有问题(标题、标签、问题本身:P),我很乐意纠正它。

0 投票
4 回答
89 浏览

javascript - 如何使用一个函数通过 if/case 语句调用另一个函数?

有谁知道我犯了什么错字,因为我的编辑,我似乎无法让它工作

我也试过在switch中做。

0 投票
2 回答
616 浏览

c++ - 如何隐式调用函数调用运算符?

如何隐式调用类对象的模板化函数调用运算符?

g++-4.9 -Wall -Wextra的输出错误是:

0 投票
2 回答
788 浏览

c++ - 传递对模板函数调用运算符重载的引用

我有一个类,它使用模板函数重载函数调用运算符,如下所示:

我想用引用参数来调用它,但是在尝试这样做时,它会将参数作为值传递。这是我的测试设置:

输出是:

0110F738 -- 'i' 的地址的输出

0110F664 -- 模板重载中参数地址的输出

0110F738 -- 通过“测试”输出参数的地址

模板函数“test”仅用于验证。

Visual Studio 调试器确认它使用 'int' 而不是 'int&' 来进行模板重载:

test_function_call.exe!Test::operator()(int t) 第 9 行 C++

我怎样才能强制它使用参考呢?有没有办法在模板函数调用运算符上使用 <> 指定类型?