C++ 用 allocator 成员函数和 uninitialized_fill 初始化容器有何区别

因为想用allocator::construct代替placement new,前者你可以在实现里开点洞。当然你完全可以把这个理解为一种洁癖,因为你可能这辈子都不会遇见这种需求。
■网友
源代码和定义都显示allocator的construct()在标准分配器std::allocator时就是placement new,并用uninitialized_fill构造已分配了内存的对象。但自定义的allocator的construct成员函数可以附加一些功能,比如处理异常。而uninitialized_fill还没有根据allocator作为输入参数的重载形式。
【C++ 用 allocator 成员函数和 uninitialized_fill 初始化容器有何区别】 Does it make sense to use std::uninitialized_fill() with any allocator?


    推荐阅读