다음을 통해 공유


allocator::construct

특정 형식의 개체에 지정 된 값으로 초기화 되는 지정한 주소를 생성 합니다.

void construct(
   pointer _Ptr, 
   const Type& _Val
);
void construct(
   pointer _Ptr, 
   Type&& _Val
);
template<class _Other>
    void construct(
        pointer _Ptr, 
        _Other&&... _Val
    );

매개 변수

  • _Ptr
    개체를 생성할 수 있는 위치에 대 한 포인터입니다.

  • _Val
    생성 중인 개체가 초기화 되는 값입니다.

설명

첫 번째 멤버 함수 같습니다 ((void *) _Ptr ) 유형 ( _Val ).

예제

// allocator_construct.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main( ) 
{
   vector <int> v1;
   vector <int>::iterator v1Iter;
   vector <int>:: allocator_type v1Alloc;

   int i;
   for ( i = 1 ; i <= 7 ; i++ )
   {
      v1.push_back( 3 * i );
   }

   cout << "The original vector v1 is:\n ( " ;
   for ( v1Iter = v1.begin( ) ; v1Iter != v1.end( ) ; v1Iter++ )
      cout << *v1Iter << " ";
   cout << ")." << endl;

   allocator<int>::pointer v1PtrA;
   int kA = 6, kB = 7;
   v1PtrA = v1Alloc.address( *find( v1.begin( ), v1.end( ), kA ) );
   v1Alloc.destroy ( v1PtrA );
   v1Alloc.construct ( v1PtrA , kB );

   cout << "The modified vector v1 is:\n ( " ;
   for ( v1Iter = v1.begin( ) ; v1Iter != v1.end( ) ; v1Iter++ )
      cout << *v1Iter << " ";
   cout << ")." << endl;
}
  
  

요구 사항

헤더: <memory>

네임 스페이스: std

참고 항목

참조

allocator Class

Lvalue가 고 Rvalue

Lvalue 참조 선언 자: &

Rvalue 참조 선언 자: & &