问题标签 [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.
c++ - 为什么要覆盖 operator()?
在Boost Signals库中,它们重载了 () 运算符。
这是 C++ 中的约定吗?对于回调等?
我在一位同事的代码中看到了这一点(他恰好是 Boost 的忠实粉丝)。在所有 Boost 的优点中,这只会让我感到困惑。
关于这种超载的原因有什么见解吗?
c++ - 什么是 C++ 函子及其用途?
我一直听到很多关于 C++ 中的函子的信息。有人可以概述一下它们是什么以及它们在什么情况下有用吗?
c++ - 函数调用运算符
我已经看到了operator()
在 STL 容器上的使用,但它是什么以及你什么时候使用它?
c++ - void Classname::operator()(){ .... } 做什么?
我正在处理一些 C++ 代码并遇到以下问题
我认为这与重载构造函数有关,但有人可以详细说明吗?
c++ - C++中的重载赋值和圆括号运算符
我想定义一个支持赋值operator=
和括号访问的类 myVector,例如myclass(1) = 0.5
。请参阅下面的虚拟示例
此代码无法编译,因为()
未定义为常量函数。这是因为我想启用直接分配,例如myvector(1) = 2
. 要解决这个问题,我只能想到两个解决方案。一是定义某事。喜欢double getValue(int i) const
,但这似乎很奇怪,因为添加了一些重复的代码。另一种是const
从函数的签名中删除()
,但这也是不可取的。我相信会有一个很好的解决方法,但我找不到它。
c++ - C++ - 模板函数调用运算符重载 - 错误 C2064
我正在尝试在 c++ 中重载函数调用运算符,但我遇到了无法解决的编译错误(Visual Studio 2010)。
错误在行act(4);
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),我很乐意纠正它。
javascript - 如何使用一个函数通过 if/case 语句调用另一个函数?
有谁知道我犯了什么错字,因为我的编辑,我似乎无法让它工作
我也试过在switch中做。
c++ - 如何隐式调用函数调用运算符?
如何隐式调用类对象的模板化函数调用运算符?
g++-4.9 -Wall -Wextra
的输出错误是:
c++ - 传递对模板函数调用运算符重载的引用
我有一个类,它使用模板函数重载函数调用运算符,如下所示:
我想用引用参数来调用它,但是在尝试这样做时,它会将参数作为值传递。这是我的测试设置:
输出是:
0110F738 -- 'i' 的地址的输出
0110F664 -- 模板重载中参数地址的输出
0110F738 -- 通过“测试”输出参数的地址
模板函数“test”仅用于验证。
Visual Studio 调试器确认它使用 'int' 而不是 'int&' 来进行模板重载:
test_function_call.exe!Test::operator()(int t) 第 9 行 C++
我怎样才能强制它使用参考呢?有没有办法在模板函数调用运算符上使用 <> 指定类型?