std::allocator_traits::construct

std::allocator_traits::construct

Defined in header <memory>
template< class T, class... Args >
static void construct( Alloc& a, T* p, Args&&... args );
(since C++11)

If possible, constructs an object of type T in allocated uninitialized storage pointed to by p, by calling.

a.construct(p, std::forward<Args>(args)...).

If the above is not possible (e.g. a does not have the member function construct(),), then calls placement-new as.

::new (static_cast<void*>(p)) T(std::forward<Args>(args)...).

Parameters

a - allocator to use for construction
args... - the constructor arguments to pass to a.construct() or to placement-new

Return value

(none).

Notes

This function is used by the standard library containers when inserting, copying, or moving elements.

Because this function provides the automatic fall back to placement new, the member function construct() is an optional Allocator requirement since C++11.

See also

allocation functions
(function)
(deprecated in C++17)
constructs an object in allocated storage
(public member function of std::allocator)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/memory/allocator_traits/construct

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部