问题标签 [stdbind]

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 投票
1 回答
1311 浏览

c++ - 在这种情况下,为什么 std::bind 需要占位符?

在回答这个问题时,我偶然看到了以下事实。

请看这个例子:

编译失败:

如果我将代码更改为此,它工作得很好:

输出是:

为什么?我只绑定std::bind第一个参数..自动“占位符”其他参数是不可能的吗?(我期望std::bind1st在 C++98 中得到相同的结果。)为什么?

0 投票
0 回答
77 浏览

c++ - Visual C++ 函数和绑定问题

我有一个与文件一起使用的类,构造函数正在接收一个 std::function ,用于将工作状态发送到 GUI 库(如果使用)。

宣言:

在我写的定义中:

我的 LoadWindow 具有以下功能:

和 void LoadWindow::pb_next 看起来像这样:

VC++ 说:

错误 C2064:表达式无法在接受 2 个参数的函数中解析。

我有一个德语 VS,所以我翻译了错误。

谢谢你的帮助

0 投票
2 回答
345 浏览

c++ - C++弱函子解决方案

这是特定于 void() 函子的,但这对我来说很好......

然后将此代码调用为...

我的问题是是否有某种方法可以避免 BIND 宏?

0 投票
1 回答
1229 浏览

c++ - C++11 之前的 std::bind 替代方案

对于这个项目,我不能使用 C++11,也不能添加任何额外的依赖项(例如 Boost)。

我想要实现的是:

我的问题是我要上****** WHAT GOES HERE? ******线什么?我会使用 std::bind 部分应用它(a la time_limit_parser(timeLimit)),但我不能在这个项目中使用 C++11。

0 投票
1 回答
1227 浏览

c++ - C++ - 如何正确地将 default_random_engine 绑定到两个不同的 uniform_int_distributions

我正在尝试使用两个不同的std::uniform_int_distribution绑定对象(使用std::bind),并将相同的对象std::default_random_engine作为参数(如此处所述http://www.cplusplus.com/reference/random/),但是将它们绑定在一起会导致与使用它们不同的行为未绑定:

第二个循环产生我想要的随机数,而在第一个循环中,在循环的每个循环中总是产生相同的数字boundDist1()boundDist2()

所以我的问题是:
如何std::bind改变函数调用的行为以及如何避免这个问题?

0 投票
1 回答
76 浏览

c++ - C++ 函数式:通过指针绑定类方法

我试图从另一个存储第一个指针的类中绑定一个类方法,但它总是给我不同的值。我究竟做错了什么?

如果我按值传递 A 类(当然修改 B 类以按值存储),它就可以工作。

0 投票
1 回答
145 浏览

c++ - 如何避免这种代码重复?

我有两种方法,它们的代码几乎相同,除了它们调用的两种方法(以及我可以轻松参数化的一些其他细节)。但是,这些方法调用具有相同的签名,所以我想我可以将它们概括为一个方法。

我可以弄清楚如何“参数化”“其他东西”代码,但问题是对method1and的调用method2。我想我必须以std::bind某种方式使用,但我不能做这样的事情......

这里的问题是它m_pApi不是一个具体的类(它是由一堆具体类实现的接口),所以我不确定我是否可以做通常&Class::Method的事情。建议?

0 投票
0 回答
214 浏览

c++ - 如何使用嵌套的 std::bind

我有一个功能对象test_id和一个结构Node

我使用 Visual Studio 2010 sp1。 我知道我可以使用 lambda,但我的问题是:在这种情况下如何使用 std::bind?

编辑:这编译得很好,所以我可以从节点中提取 id:

0 投票
1 回答
2998 浏览

c++ - "No matching function for call to... unresolved overloaded function type"

0 投票
1 回答
229 浏览

c++ - 可以使用绑定来转发可变数量的参数吗?

在 C++14 中,我可以编写一个对任意数量的参数进行完美转发的 lambda:

有没有办法使用 达到相同的效果bind?我知道通过bind使用任意数量的参数创建的函数对象,并且我知道这些对象对未绑定的参数使用完美转发,但是有没有办法告诉bind创建一个对传递给它的每个参数使用完美转发的函数对象,即使在对 ? 的调用中没有占位符bind