问题标签 [boost-bind]

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 投票
2 回答
1013 浏览

c++ - boost::bind 打破了严格的别名规则?

使用 Boost 1.43 和 GCC 4.4.3,以下代码

生成以下警告

boost/function/function_base.hpp:321:警告:取消引用类型双关指针将破坏严格别名规则

在不设置 -fno-strict-aliasing 的情况下消除这些警告的正确方法是什么?

0 投票
1 回答
1976 浏览

boost - boost::bind 的问题

以下代码在我要创建仿函数对象的行处引发错误Test::fun2

编译器给了我一组模板错误和

这似乎是主要错误。尽管如此,我不知道这里有什么问题以及如何解决它。

0 投票
1 回答
731 浏览

c++ - 提升绑定模板错误

0 投票
3 回答
226 浏览

c++ - 指向函数的指针

我必须将函数传递给指针。为此,我使用了 boost::function。捕获指针的函数针对不同的签名进行了重载。例如:

现在我想在那里传递一些类方法指针:

0 投票
5 回答
20228 浏览

c++ - 提升 shared_from_this<>()

有人可以用几句简洁的话总结一下shared_from_this<>()应该如何使用 boost 智能指针,特别是从使用 bind 函数在 io_service 中注册处理程序的角度来看。

编辑:一些回复要求提供更多背景信息。基本上,我正在寻找“陷阱”,人们使用这种机制观察到的反直觉行为。

0 投票
1 回答
1566 浏览

c++ - 使用 boost::bind 和 boost::lambda::new_ptr 返回 shared_ptr 构造函数

给定一个 A 类,

我需要一个boost::function<boost::shared_ptr<A>(B&)>对象。

我不喜欢创建临时功能

解决我的问题,我正在尝试解决它绑定 lambda::new_ptr。

也就是说,我分两步绑定A的new_ptr和shared_ptr的构造函数。显然它不起作用:

我应该如何进行绑定?在此先感谢弗朗切斯科

0 投票
1 回答
6936 浏览

c++ - Boost.Bind - 理解占位符

我正在尝试理解以下示例,该示例类似于(但不等于)之前在 SO Help 上发布的示例,以了解 boost::bind 占位符参数

这怎么可能,最外面的绑定函数知道它必须将第一个参数传递给第二个绑定(期望_1),并将第二个参数传递给第三个绑定(期望_2)?我看到这个的方式是首先评估内部绑定器,因此它们成为两个一元功能对象,稍后传递给less<int>对象的绑定器。当使用两个对象调用新创建的功能对象时,a转到第一个内部绑定,然后b转到第二个。如果我是对的,我们会使用_1两次。我一定是错的。我将再次重复我的问题以明确我的问题:外部活页夹如何知道在哪个内部活页夹中使用了哪个占位符?

0 投票
4 回答
404 浏览

c++ - 如何使用 std::for_each 和 boost::bind 在参数上调用成员函数?

我想使用 std::for_each 将一系列字符串添加到组合框中。这些对象是类型的Category,我需要调用GetName它们。我怎样才能做到这一点boost::bind

当前代码在尝试调用时失败CComboBox::AddString(category)。这显然是错误的。如何CComboBox::AddString(category.GetName())使用当前语法调用?

0 投票
1 回答
3313 浏览

c++ - 在 boost::bind 中使用 boost 信号

我正在尝试将 boost::signal 的触发包装到 boost::bind 对象中。所以我想要的是在调用 boost::function 时使用一些预打包的参数调用信号。

我所拥有的是:

但这不起作用。我收到以下错误:错误:没有匹配的函数调用 bind(, ...

我也试过这个:

但后来我得到“没有上下文类型信息的重载函数地址”。

那么什么是正确的语法呢?

0 投票
3 回答
229 浏览

c++ - C++ - 绑定函数

我有一些(库 API,所以我不能更改函数原型)函数,它是按以下方式编写的:

现在,在我执行的某个时刻,我有Context* local_context;变量,这也不是一个可以改变的主题。

我希望使用boost::bindwithFreeContext函数,但我需要Context从局部变量中检索Context*

如果我按以下方式编写代码,编译器会说它是“非法间接”:


我设法通过以下方式解决了这个问题:

但是这个解决方案对我来说似乎并不是很好。关于如何使用类似*_1. 也许写一个小的 lambda 函数?