std-function相关内容

C++ 如何使用 std::bind/std::function 引用模板函数

如果您有模板类或模板函数(或两者的组合),您如何绑定该函数(保留模板类型参数)? 我在下面的帖子中获得了一些有关基本语法的帮助,用于绑定具有显式模板类型参数的函数,但在此过程中失去了提供模板类型参数的能力. 是否有可能让它工作,以便在将来的调用中仍然可以提供模板类型参数? 清理了很多这段代码,但显然无法编译,因为我找不到正确的语法,(有没有办法做到这一点)? 删除了“矢量" ..
发布时间:2022-01-03 08:42:07 C/C++开发

将gsl与c ++一起使用时如何避免静态成员函数

我想在 C++ 类中使用 GSL,而不将成员函数声明为 static.这样做的原因是因为我不太了解它们,而且我不确定线程​​安全性.从我读到的内容来看,std::function 可能是一个解决方案,但我不确定如何使用它. 我的问题归结为如何删除 g 声明中的 static? #include#include #include #include #include #include #inc ..
发布时间:2022-01-03 08:12:11 C/C++开发

std::function 与模板

感谢 C++11,我们收到了 std::function 函子包装器系列.不幸的是,我一直只听到有关这些新增内容的坏消息.最受欢迎的是它们非常慢.我对其进行了测试,与模板相比,它们确实很糟糕. #include #include #include #include 模板 float calc1(F f) { return -1.0f * f(3.3f) + 666.0f;}flo ..
发布时间:2021-12-13 18:23:30 C/C++开发

如何从 std::function 获取这个指针?

由于std::function可以保存成员函数,所以它必须在某处存储一个指向对象实例的指针. 如何从包含成员函数的 std::function 获取 this 指针? 解决方案 std::function 类型的对象拥有一个 可调用对象.指向成员函数的指针是一种可调用对象;可以使用适当类类型的参数以及它需要的任何其他参数来调用它.例如: struct S {void f(int); ..
发布时间:2021-09-07 18:32:09 C/C++开发

std::function 可以序列化吗?

这是一个理论问题.假设有一些对象包含订阅这些对象事件的回调函数列表.现在我们想将这些对象存储在磁盘上.std::function 是否可序列化? 解决方案 没有 每当使用类型擦除(即,将实现细节隐藏在接口后面)时,唯一不知道对象动态类型的可用操作就是接口提供的操作. C++标准中没有序列化,也没有简单的方法序列化函数(没有反射),因此std::function接口没有提供序列化 ..
发布时间:2021-09-07 18:30:56 C/C++开发

通过std :: function传递成员函数

我要检查数据字段是否有效(有效表示不为null且未填充默认值) 基本上 返回(!connector-> IsNull(field_id)and connector-> Get Default(field_id,default_value)) 但是“类型”可以是许多类型之一(字符串,int64等),因此有5-6种不同功能。我为此创建了一个辅助函数,并且尝试传 ..
发布时间:2020-09-28 00:38:46 C/C++开发