boost-bind相关内容

如何在 C++/CLI 中使用 boost::bind 绑定托管类的成员

我在本机 C++ 类中使用 boost::signal,现在我正在 C++/CLI 中编写一个 .NET 包装器,以便我可以将本机 C++ 回调公开为 .NET 事件.当我尝试使用 boost::bind 获取托管类的成员函数的地址时,我收到编译器错误 3374,说除非我创建委托实例,否则我无法获取成员函数的地址.有谁知道如何使用 boost::bind 绑定托管类的成员函数? 为澄清起见, ..
发布时间:2022-01-18 12:40:05 其他开发

boost::bind 的返回类型是什么?

我想将一个函数的“绑定器"保存到一个变量中,以便通过利用其运算符重载设施在以下代码中重复使用它.这是实际执行我想要的代码: #include #include #include #include X级{国际n;上市:X(int i):n(i){}int GetN(){return n;}};int main(){使用命名空间标准;使用命名空间提升;X arr[] = {X(13),X(-13), ..
发布时间:2021-12-25 13:26:49 C/C++开发

一般而言,boost bind 是如何在幕后工作的?

无需花很长时间查看 boost 源代码,有人可以简要介绍一下 boost 绑定是如何实现的吗? 解决方案 我喜欢这段 bind 源码: 模板类 bind_t{上市:typedef bind_t this_type;bind_t(F f, L const & l): f_(f), l_(l) {}#define BOOST_BIND_RETURN 返回#include #undef BOO ..
发布时间:2021-12-24 15:48:24 C/C++开发

C++11 std::bind 和 boost::bind 的区别

这两者有什么区别吗?或者我是否可以安全地在我的代码中用 std::bind 替换每次出现的 boost::bind ,从而消除对 Boost 的依赖? 解决方案 boost::bind 有重载关系运算符,std::bind 没有. boost::bind 支持非默认调用约定,不保证std::bind(标准库实现可能会将此作为扩展提供). boost::bind 提供了一种直 ..
发布时间:2021-12-24 15:10:39 C/C++开发

boost::function 和 boost::bind 如何工作

我不喜欢在我的代码中散布魔术盒...这两个类究竟如何工作以允许基本上任何函数映射到函数对象,即使函数具有完全不同的参数设置为一个我传递给 boost::bind 它甚至适用于不同的调用约定(即成员方法在 VC 下是 __thiscall,但“正常"函数通常是 __cdecl 或 __stdcall对于那些需要兼容 C 的. 解决方案 boost::function 允许任何带有 op ..
发布时间:2021-12-24 15:04:41 C/C++开发

std::stringstream 作为函数的参数

我有一个 std::vectortemp_results 并且我希望使用 std::for_each 来遍历这个向量并连接一个字符串,所以我炮制了以下结构: std::stringstream ss;std::string res = std::for_each(temp_results.begin(), temp_results.end(), boost::bind(addup, _1, ss ..
发布时间:2021-08-31 18:48:07 C/C++开发

boost::bind 不适用于 boost::tuple::get<N>()

我正在尝试将 boost::bind 和 STL 与 boost::tuple 一起使用,但是每次我尝试编译时都会出现以下错误. 错误:调用重载‘bind(,boost::arg&)' 是不明确的 你知道我在这里做错了什么吗?为什么只针对 boost::arg? 谢谢AFG #include #include #include #include #include #inclu ..
发布时间:2021-08-30 19:22:30 C/C++开发

& quot;没有用于调用绑定的匹配功能"在使用websocketpp时

我正在制作一个(c ++)应用程序,它是一个websocket客户端和websocket服务器.为此,我使用了websocketpp库.为了使应用程序既是客户端又是服务器,我希望 endpoint1.run()和 endpoint2.listen(port)是多线程的.这是出问题的地方. 通常(单线程)我使用: endpoint.listen(port); 起作用. 要使其成为多线程, ..
发布时间:2021-04-15 20:55:46 C/C++开发

具有多个构造函数签名的C ++通用工厂?

任何人都曾经结合过Andrei Alexandrescu的经典通用工厂( 现代C ++设计)中的第8章), Boost的“多功能”功能.TypeErasure ?也就是说,可以灵活地创建多个创建者函数签名,这些签名随参数的数量和类型而变化(但仍具有相同的返回类型,并且在编译时是已知的)。 换句话说,如何结合这个稍微简化的通用工厂: #include #include ..
发布时间:2020-09-27 21:25:22 C/C++开发

是否可以将动作附加到boost :: spirit :: rule解析器,该解析器将解析的结果分配给(尚未)未知实例的成员?

我正在尝试从boost :: spirit规则定义的操作中引用一个(尚未)未知实例的成员,所以在伪代码中, 而不是 double_ [ref(rN)= _1] 我正在寻找类似的东西 X ** ppx; double_ [ref(& X :: rN,ppx)= _1] 一种解决方法可能是一个简单的“语义动作",其中包含一个知道实例并能够写入实例的参数,例如 qi::rule ..
发布时间:2020-09-22 18:56:20 C/C++开发

如何在使用boost :: spirit :: karma生成时避免boost :: phoenix

我是错误"LNK1179:文件无效或损坏:COMDAT重复"的受害者 和这些 (这是对我之前的问题的跟踪.) 我想用其他东西代替boost::phoenix.也许boost::bind,但我不知道如何授予它对karma::_val的访问权限. 以下代码无法在 的VC9上编译 错误C2825:"F":后跟"::"必须是类或名称空间 #include ..
发布时间:2020-09-22 05:44:01 C/C++开发

使用boost :: bind进行订阅回调时出错

我们遇到了此编译错误,随后出现了更多错误,这些错误表明尝试将boost :: bind用作订阅回调时,将订阅参数与所有可能的候选函数进行匹配. error: no matching function for call to ‘ros::NodeHandle::subscribe(const char [18], int, boost::_bi::bind_t ..
发布时间:2020-09-22 05:16:01 C/C++开发

如何使用boost :: spirit解析数学表达式并将其绑定到函数

我想定义一个带有2个参数的函数 double func(double t, double x); 从外部文本文件中读取实际实现. 例如,在文本文件中指定 function = x*t; 该函数应实现x和t之间的乘法,以便可以在以后的阶段调用它. 我正在尝试使用boost :: spirit解析函数.但我不知道该如何实际实现. 下面,我创建了一个实现乘法的简单 ..
发布时间:2020-09-22 05:09:07 C/C++开发