std::uninitialized_construct_using_allocator
定义于 | 内存 |
自 C++20 起
template< class T, class Alloc, class... Args >
constexpr T* uninitialized_construct_using_allocator( T* p, const Alloc& alloc, Args&&... args );
通过“使用分配器构造”在由 p 指示的未初始化内存位置创建给定类型 T 的对象。
等同于
return std::apply([&]<class... Xs>(Xs&&...xs) {
return std::construct_at(p, std::forward<Xs>(xs)...);
}, std::uses_allocator_construction_args<T>(alloc, std::forward<Args>(args)...));
参数
p
- 对象将被放置的内存位置。
alloc
- 要使用的分配器。
args
- 要传递给 T 构造函数的参数
返回值
指向新创建的类型 T 对象的指针
异常
可能会抛出 T 的构造函数抛出的任何异常,通常包括 std::bad_alloc