c++ - 带有自定义分配器的 Boost.Function

标签 c++ function boost allocator

我已经在 stackoverflow 和 google 上进行了初步搜索,但没有找到任何具体的线索,所以我要在这里问一下:

有没有人有将 boost::function 与自定义分配器一起使用的经验?

我需要它,因为我正在使用从绑定(bind)生成的函数,并且在一定大小(取决于您绑定(bind)的参数)之后,boost::function 将开始在堆上分配。

我必须使用 boost/pool_alloc。 boost::fast_pool_allocator<>boost::pool_allocator<>再具体一点。接收函数签名很简单,就是function<void()> ,但我可能会从各种绑定(bind)站点生成此函数,并使用所有可能的参数进行绑定(bind)...

那我怎么知道要为 pool_alloc 写什么签名呢?例如:

function<void()> f_with_alloc(bind(...), pool_allocator<????>() );

我在那里写什么? boost.function 文档中并不清楚。

呃,一些模板代码在stackoverflow的编辑器上不能很好地工作......并且编辑器不让我再次编辑。 :(

最佳答案

据我所知,这并不重要。无论如何,该类都会在内部将您的分配器重新绑定(bind)到它需要的类型。

关于c++ - 带有自定义分配器的 Boost.Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792411/

相关文章:

c++ - 用零 eigen3 c++ 替换所有负元素

javascript - JavaScript 中的 Lambda 函数

javascript - 切换类函数仅适用于第一个元素

python - 如何在 Python 中每 60 秒异步执行一次函数?

c++ - 不存在从 "const std::string"到 "time_t"的合适转换函数

c++ - boost::future::那么它是如何实现的呢?

c++不同类的数组/列表

c++ - 一组线性点的高效最长算术级数

c++ - 僵尸进程和 fork

c++ - 将整数列表解析为 vector 或映射或多映射?