2014-01-16 106 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應該如何使用其分配器,作爲一些更大的更改的一部分。

相關問題