问题标签 [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.
c++ - boost::bind 打破了严格的别名规则?
使用 Boost 1.43 和 GCC 4.4.3,以下代码
生成以下警告
boost/function/function_base.hpp:321:警告:取消引用类型双关指针将破坏严格别名规则
在不设置 -fno-strict-aliasing 的情况下消除这些警告的正确方法是什么?
boost - boost::bind 的问题
以下代码在我要创建仿函数对象的行处引发错误Test::fun2
:
编译器给了我一组模板错误和
这似乎是主要错误。尽管如此,我不知道这里有什么问题以及如何解决它。
c++ - 指向函数的指针
我必须将函数传递给指针。为此,我使用了 boost::function。捕获指针的函数针对不同的签名进行了重载。例如:
现在我想在那里传递一些类方法指针:
c++ - 提升 shared_from_this<>()
有人可以用几句简洁的话总结一下shared_from_this<>()
应该如何使用 boost 智能指针,特别是从使用 bind 函数在 io_service 中注册处理程序的角度来看。
编辑:一些回复要求提供更多背景信息。基本上,我正在寻找“陷阱”,人们使用这种机制观察到的反直觉行为。
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的构造函数。显然它不起作用:
我应该如何进行绑定?在此先感谢弗朗切斯科
c++ - Boost.Bind - 理解占位符
我正在尝试理解以下示例,该示例类似于(但不等于)之前在 SO Help 上发布的示例,以了解 boost::bind 占位符参数:
这怎么可能,最外面的绑定函数知道它必须将第一个参数传递给第二个绑定(期望_1
),并将第二个参数传递给第三个绑定(期望_2
)?我看到这个的方式是首先评估内部绑定器,因此它们成为两个一元功能对象,稍后传递给less<int>
对象的绑定器。当使用两个对象调用新创建的功能对象时,a
转到第一个内部绑定,然后b
转到第二个。如果我是对的,我们会使用_1
两次。我一定是错的。我将再次重复我的问题以明确我的问题:外部活页夹如何知道在哪个内部活页夹中使用了哪个占位符?
c++ - 如何使用 std::for_each 和 boost::bind 在参数上调用成员函数?
我想使用 std::for_each 将一系列字符串添加到组合框中。这些对象是类型的Category
,我需要调用GetName
它们。我怎样才能做到这一点boost::bind
?
当前代码在尝试调用时失败CComboBox::AddString(category)
。这显然是错误的。如何CComboBox::AddString(category.GetName())
使用当前语法调用?
c++ - 在 boost::bind 中使用 boost 信号
我正在尝试将 boost::signal 的触发包装到 boost::bind 对象中。所以我想要的是在调用 boost::function 时使用一些预打包的参数调用信号。
我所拥有的是:
但这不起作用。我收到以下错误:错误:没有匹配的函数调用 bind(, ...
我也试过这个:
但后来我得到“没有上下文类型信息的重载函数地址”。
那么什么是正确的语法呢?
c++ - C++ - 绑定函数
我有一些(库 API,所以我不能更改函数原型)函数,它是按以下方式编写的:
现在,在我执行的某个时刻,我有Context* local_context;
变量,这也不是一个可以改变的主题。
我希望使用boost::bind
withFreeContext
函数,但我需要Context
从局部变量中检索Context*
。
如果我按以下方式编写代码,编译器会说它是“非法间接”:
我设法通过以下方式解决了这个问题:
但是这个解决方案对我来说似乎并不是很好。关于如何使用类似*_1
. 也许写一个小的 lambda 函数?