问题标签 [function-object]

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 投票
5 回答
1050 浏览

c++ - for_each usage in C++

Basically, I am trying to call the destructor for each Abstract object in the m_abs_list. This can be easily achieved by a for loop. But I am trying to used for_each in this context.

On compilation I get error:

How do i get around the compilation error ?

0 投票
3 回答
6292 浏览

javascript - javascript 类继承自 Function 类

我喜欢在 javascript 中这样做,我可以创建一个函数,然后向该函数添加更多方法和属性

我想创建一个类来生成这些对象。我假设我必须从 Function 基类继承。

换句话说,我想:

但我不知道如何创建 myFunctionClass。我尝试了以下方法,但它不起作用:

我还尝试了这里找到的更复杂(也更合适?)的继承方法:如何“正确”在 JavaScript 中创建自定义对象?,没有更多的运气。我还尝试使用 node.js 中的 util.inherits(myFunctionClass, Function)。仍然没有运气

我已经用尽了谷歌,因此觉得我一定遗漏了一些基本的或明显的东西。帮助将不胜感激。

0 投票
2 回答
1005 浏览

c++ - Bind function pointer to boost::function object

How can I initialize a boost::function object with a raw function pointer?

Metacode

...

If you need additional information's just let me know.

0 投票
2 回答
969 浏览

c++ - 重载运算符 ()

我有这个声明

有没有办法修改结构声明,所以调用 3 号会成功?

0 投票
4 回答
3568 浏览

c++ - C++中指向函数对象的指针

我想将一个函数对象传递给一个类,该类将使用该函数对象在类内部完成一些工作。

但问题是,我不知道传入的函数对象是什么。所以我想,void *在类中定义一个指针,这个指针将用传入的函数对象进行初始化。

代码如下:

但是代码不起作用。我想,不能这样用void *functor

我知道我可以用它template class来完成这项工作,但我的问题是,我还能用它来完成这项工作pointer to function object吗?怎么做?

附言

为了使我的问题更清楚,可能有几个函数对象在处理数据的方式上彼此不同,我不知道将传入什么函数对象,但我知道它们每个都会接受一个int参数。

正如一些答案所说,我可以通过 来完成这项工作function pointer,但是函数对象比函数指针具有更多的实用程序,例如states,这就是我要使用的。

0 投票
2 回答
361 浏览

c++ - 我可以使用没有实例化的函数对象吗?

具有以下代码:

这个调用是错误的:

错误信息:

这个调用没有错误:

我可以在没有实例化的情况下以某种方式使用函数对象吗?我不能在这里使用模板函数,因为我需要部分专业化能力。

0 投票
4 回答
2291 浏览

c++ - STL 函数式——为什么?

在 C++ 标准模板库中,有一个“功能”部分,其中许多类都重载了它们的()运算符。

在 C++ 中将函数用作对象是否带来了便利?

为什么我们不能只使用函数指针呢?有什么例子吗?

0 投票
1 回答
115 浏览

python - 表示对字符串的方法调用的下拉框

我有一个下拉框,用户可以在其中选择一种方法来检查某个字符串是否等于或以另一个字符串结尾。

我会考虑使用函数指针/对象作为下拉框模型并调用当前选择的模型,但由于方法是/将是

  1. 字符串方法和
  2. 等于不存在

你如何在 Python 中最好地处理这个问题,同时考虑到我必须调用列名上的方法,比如column.name.[selectedMethod](variableStringFromTextBox)

(这是一个选项,在 GUI 上显示“使用 XYZ,其中列名 [等于或结尾]”+ 带有变量字符串的文本框。)

谢谢

0 投票
2 回答
504 浏览

c++ - 在转换为 std::function 的函数对象中获取状态

我想从函数对象中检索状态。但是函数对象已被转换为function<>模板。我该怎么做?

我是说:

功能对象:

在主要。我的第一步是直接使用对象:

它的节目:

构造函数(a)调用

10

11

计数器:12

没关系,这是我所期望的。

但在

表明

构造函数(a)调用

10

11

计数器:10

啊!,我认为 f 是真实对象的包装器,所以修改f我们真的修改了b. 否:f有 的副本b,但我无法调用f.getCounter()我如何从 中获取 State (counter_var) f

我不能直接使用Counter类(在这个例子中),因为我有一些其他类似的具有相同签名“void(int)”的类,我想在调用者函数中模糊地使用它们。

我可以完全避免std::function为我的所有函数对象使用公共基类的模板,但我认为有一个解决方案更 C++11 与 STL 和模板......

那么,有没有解决方案?

谢谢

0 投票
2 回答
77 浏览

c++ - classname() 是否等同于类对象?

我知道这可能是一个愚蠢的问题,但我不确定如何正确描述它。例如,当我尝试调用std::transform函数时,

一个人可以写UnaryOperator op;然后打电话transform(..,..,.., op);

但是我也看到人们只写transform(..,..,..,UnaryOperator());

我的问题是:这classname()是否等同于类对象?