std:: uninitialized_construct_using_allocator
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定义于头文件
<memory>
|
||
|
template
<
class
T,
class
Alloc,
class
...
Args
>
constexpr
T
*
uninitialized_construct_using_allocator
(
T
*
p,
|
(C++20 起) | |
在由
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
。
示例
|
本节内容不完整
原因:缺少示例 |
参阅
|
(C++11)
|
检查指定类型是否支持使用分配器构造
(类模板) |
|
(C++20)
|
通过使用分配器构造方式创建给定类型的对象
(函数模板) |