2014-01-16 60 views
2

This open-std document表明std :: function支持一个自定义分配器,但是我无法在互联网上找到任何东西,或者找不到如何提供该自定义分配器的东西。std ::函数是否支持自定义分配器?

我的研究倾向于让我相信自定义分配器是在boost::function中实现的,但是尚未达到std::function

所以问题是std::function支持在C + + 11自定义分配器?如果不是,它最有可能支持C++ 14中的一个吗?

+0

@TomKnapen,但现在你可以通过google搜索“std :: function custom allocator”找到答案:) – Drax

+0

标记为重复的问题仅讨论如何传递自定义分配器,但不讨论C++编译器支持的细微差别。 –

回答

3

的标准说std::function支持自定义分配器,但一些编译器(至少GCC)不支持它。关于自定义分配器应如何与标准库中的std::function或其他类模板一起使用类型擦除,并不完全清楚,参见例如。 LWG 2095LWG 2245。对这些类型的恕我直拨分配器支持是一半,并没有很好地指定。

N3726提出了一些更改,以澄清std::function应该如何使用其分配器,作为一些更大的更改的一部分。

相关问题