MakeAllocator 클래스
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
구문
template<
typename T,
bool hasWeakReferenceSupport =
!__is_base_of(RuntimeClassFlags<InhibitWeakReference>,
T)
>
class MakeAllocator;
template<typename T>
class MakeAllocator<T, false>;
template<typename T>
class MakeAllocator<T, true>;
매개 변수
T
형식 이름.
hasWeakReferenceSupport
true
약한 참조를 지원하는 개체에 대한 메모리를 할당하려면 입니다. false
약한 참조를 지원하지 않는 개체에 대한 메모리를 할당합니다.
설명
약한 참조 지원을 사용하거나 사용하지 않고 활성화 가능한 클래스에 대한 메모리를 할당합니다.
클래스를 재정의 MakeAllocator
하여 사용자 정의 메모리 할당 모델을 구현합니다.
MakeAllocator
는 일반적으로 생성 중에 개체가 throw되는 경우 메모리 누수 방지에 사용됩니다.
멤버
공용 생성자
속성 | 설명 |
---|---|
MakeAllocator::MakeAllocator | MakeAllocator 클래스의 새 인스턴스를 초기화합니다. |
MakeAllocator::~MakeAllocator | 클래스의 현재 인스턴스를 초기화합니다 MakeAllocator . |
공용 메서드
이름 | 설명 |
---|---|
MakeAllocator::Allocate | 메모리를 할당하고 현재 MakeAllocator 개체와 연결합니다. |
MakeAllocator::D etach | 현재 MakeAllocator 개체에서 Allocate 메서드에 의해 할당된 메모리를 분리합니다. |
상속 계층 구조
MakeAllocator
요구 사항
헤더: implements.h
네임스페이스: Microsoft::WRL::D etails
MakeAllocator::Allocate
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
__forceinline void* Allocate();
Return Value
성공하면 할당된 메모리에 대한 포인터입니다. 그렇지 않으면 . nullptr
설명
메모리를 할당하고 현재 MakeAllocator
개체와 연결합니다.
할당된 메모리의 크기는 현재 MakeAllocator
템플릿 매개 변수에 지정된 형식의 크기입니다.
개발자는 다른 메모리 할당 모델을 구현하기 위해 메서드만 Allocate()
재정의해야 합니다.
MakeAllocator::D etach
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
__forceinline void Detach();
설명
현재 MakeAllocator
개체에서 Allocate 메서드에 의해 할당된 메모리를 분리합니다.
호출 Detach()
하는 경우 메서드에서 제공하는 메모리를 삭제해야 합니다 Allocate
.
MakeAllocator::MakeAllocator
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
MakeAllocator();
설명
MakeAllocator
클래스의 새 인스턴스를 초기화합니다.
MakeAllocator::~MakeAllocator
WRL 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
~MakeAllocator();
설명
클래스의 현재 인스턴스를 초기화합니다 MakeAllocator
.
이 소멸자는 필요한 경우 기본 할당된 메모리도 삭제합니다.