Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::allocator_traits<Alloc>::construct

      From cppreference.com
      <cpp‎ |memory‎ |allocator traits
       
       
      Memory management library
      (exposition only*)
      Allocators
      Uninitialized memory algorithms
      Constrained uninitialized memory algorithms
      Memory resources
      Uninitialized storage(until C++20)
      (until C++20*)
      (until C++20*)
      Garbage collector support(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
       
       
      Defined in header<memory>
      template<class T,class...Args>
      staticvoid construct( Alloc& a, T* p, Args&&...args);
      (since C++11)
      (constexpr since C++20)

      If possible, constructs an object of typeT in allocated uninitialized storage pointed to byp, by callinga.construct(p,std::forward<Args>(args)...).

      If the above is not possible (e.g.Alloc does not have the member functionconstruct()), then calls

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

      (until C++20)

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

      (since C++20)

      Contents

      [edit]Parameters

      a - allocator to use for construction
      p - pointer to the uninitialized storage on which aT object will be constructed
      args... - the constructor arguments to pass toa.construct() or toplacement-new(until C++20)std::construct_at()(since C++20)

      [edit]Return value

      (none)

      [edit]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 functionconstruct() is an optionalAllocator requirement since C++11.

      [edit]See also

      allocation functions
      (function)[edit]
      (until C++20)
      constructs an object in allocated storage
      (public member function ofstd::allocator<T>)[edit]
      creates an object at a given address
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/allocator_traits/construct&oldid=173088"

      [8]ページ先頭

      ©2009-2025 Movatter.jp