MakeAllocator Sınıfı
WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.
Sözdizimi
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>;
Parametreler
T
Bir tür adı.
hasWeakReferenceSupport
true
zayıf başvuruları destekleyen bir nesne için bellek ayırmak için; false
zayıf başvuruları desteklemeyen bir nesne için bellek ayırmak için.
Açıklamalar
Zayıf başvuru desteğine sahip veya olmayan, eyleme geçilebilir bir sınıf için bellek ayırır.
MakeAllocator
Kullanıcı tanımlı bir bellek ayırma modeli uygulamak için sınıfını geçersiz kılın.
MakeAllocator
genellikle bir nesne inşaat sırasında atarsa bellek sızıntılarını önlemek için kullanılır.
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
MakeAllocator::MakeAllocator | MakeAllocator sınıfının yeni bir örneğini başlatır. |
MakeAllocator::~MakeAllocator | Sınıfın geçerli örneğini MakeAllocator başlatır. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
MakeAllocator::Allocate | Belleği ayırır ve geçerli MakeAllocator nesneyle ilişkilendirir. |
MakeAllocator::D etach | Geçerli MakeAllocator nesneden Allocate yöntemi tarafından ayrılan belleği ayırır. |
Devralma Hiyerarşisi
MakeAllocator
Gereksinimler
Üst bilgi: implements.h
Ad Alanı: Microsoft::WRL::D etails
MakeAllocator::Allocate
WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.
__forceinline void* Allocate();
Dönüş Değeri
Başarılı olursa, ayrılan belleğe bir işaretçi; aksi takdirde , nullptr
.
Açıklamalar
Belleği ayırır ve geçerli MakeAllocator
nesneyle ilişkilendirir.
Ayrılan belleğin boyutu, geçerli MakeAllocator
şablon parametresi tarafından belirtilen türün boyutudur.
Bir geliştiricinin Allocate()
farklı bir bellek ayırma modeli uygulamak için yalnızca yöntemini geçersiz kılması gerekir.
MakeAllocator::D etach
WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.
__forceinline void Detach();
Açıklamalar
Geçerli MakeAllocator
nesneden Allocate yöntemi tarafından ayrılan belleği ayırır.
çağrısı Detach()
yaparsanız, yöntemi tarafından sağlanan belleği silmek sizin sorumluluğundadır Allocate
.
MakeAllocator::MakeAllocator
WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.
MakeAllocator();
Açıklamalar
MakeAllocator
sınıfının yeni bir örneğini başlatır.
MakeAllocator::~MakeAllocator
WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.
~MakeAllocator();
Açıklamalar
Sınıfın geçerli örneğini MakeAllocator
başlatır.
Bu yıkıcı, gerekirse temel alınan ayrılan belleği de siler.