C++ 17規範棄用std::allocator
對象的construct
和destroy
成員。工作組提供了在標題爲「棄用std :: allocator的冗餘成員」標題下棄用其他成員函數here的基本原理。爲什麼std :: allocator的構造和銷燬函數在C++ 17中不推薦使用?
但是,他們沒有具體提及爲什麼這兩個成員不推薦使用,或者推薦使用什麼替代功能。我假設含義是用std::allocator_traits::construct
代替。
我有點困惑是否實施construct
實際上可能仍然有必要在某些情況下,雖然因爲this comment about std::allocator_traits::construct
由於這個功能提供自動回落到安置新的成員函數構造()是自C++ 11以來的可選分配器要求。
對於(使用memalign
例如,對於頁對齊的內存)自定義的分配,將回落至安置new
總是產生正確的行爲?
是的,我幾乎在這個問題上說了很多。 –