boost-bind相关内容

为什么boost :: bind存储传递的类型的参数而不是函数预期的类型?

我最近在使用提升时遇到了程式码中的错误:: bind 。 从boost :: bind文档: 绑定的参数被复制并由返回的函数对象内部保存。 我假设正在持有的副本是基于函数的签名。但是,它实际上是基于传递的值的类型。 在我的情况下,发生隐式转换,将绑定表达式中使用的类型转换为类型由函数接收。我期望这种转​​换发生在绑定的网站,但它发生时,使用的结果函数对象。 回想起来, ..
发布时间:2016-10-23 21:29:22 C/C++开发

函数参数的部分绑定

有没有方法可以部分地绑定可调用对象(例如函数)的第一个/最后一个参数,而不明确指定其余的参数? std :: bind()似乎要求全部绑定,那些要留下的应绑定到 std :: placeholders :: _ 1 , _2 , _3 等。 可以写一个 bind_first() / bind_last()用于从第一个/最后一个参数开始的部分绑定,并自动在其原始位置以原始顺序插入任何剩余 ..
发布时间:2016-10-22 19:32:44 C/C++开发

boost :: bind与具有引用的参数的函数

我注意到,当传递引用参数到boost绑定时,这些参数将不会像引用一样。相反,boost会创建成员的另一个副本,并且在变量中传递的原始值保持不变。 当我改变指针的引用时,一切正常。 我的问题是: 是否可以获取引用的工作,或者至少在尝试使用引用参数时给出编译错误? 解决方案 bind的文档建议您可以使用boost :: ref和boost :: cref。 ..
发布时间:2016-10-22 18:59:34 C/C++开发

如果函数指针不需要和号,为什么boost :: bind需要一个?

我一直认为函数指针不需要和号: 函数指针需要一个&符号 然而,我看到的每个例子使用 boost :: bind 显示一个,而且在大多数情况下,我的编译器如果省略它,会给出一个通常不可更改的错误消息。 同步(boost :: bind(& Device :: asyncUpdate,this,“ErrorMessage”)); //工作 同步(boost :: bind(Dev ..
发布时间:2016-10-17 09:43:44 C/C++开发

消息系统:回调可以是任何东西

我想为我的游戏写一个事件系统。我的事件管理器将存储的回调可以是普通函数以及函子。我还需要能够比较函数/函子,所以我知道哪一个我需要断开与事件管理器。 •最初我尝试使用boost :: function;它完美地处理函数和函数,除非它没有操作符==,所以如果我想,我不能删除回调。 class EventManager { typedef boost :: function ..
发布时间:2016-10-14 20:38:53 C/C++开发

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

我想将一个函数的“binder”保存到一个变量中,通过利用它的操作符重载设施在下面的代码中重复使用它。这里是实际做我想要的代码: #include #include #include #include class X { int n; public: X(i ..
发布时间:2016-10-13 10:40:29 C/C++开发

[否绑定&QUOT匹配功能进行呼叫;同时采用websocketpp

我作出(C ++)应用程序,它是一个WebSocket的客户端和服务器的WebSocket。为了能够,我使用的库websocketpp做到这一点。为了使应用程序既是客户机和服务器,我想在 endpoint1.run()和 endpoint2.listen(口)是多线程。这是不顺心的事。 一般情况下(单线程)我使用: endpoint.listen(口); 其中工程 要使它成为多线程的使用: ..
发布时间:2016-08-12 19:08:53 C/C++开发

访问的boost ::函数参数

是否有可能访问包含在一个boost ::函数类型的参数? 我希望能够获取函数的地址被调用,并提供该功能的参数值。 解决方案 提振::函数擦除实现类型,但如果你知道它,你可以施放它;因为升压::功能是按值(==!=)的信息显然是可比较的。 它看起来像(从功能N的function_base超类),你可以得到实施的对象与 f.target< concrete_functor_typ ..
发布时间:2016-08-12 19:03:19 C/C++开发