Aracılığıyla paylaş


CAutoVectorPtr Sınıfı

Bu sınıf, yeni vektör ve silme işleçlerini kullanan bir akıllı işaretçi nesnesini temsil eder.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

template<typename T>
class CAutoVectorPtr

Parametreler

T
İşaretçi türü.

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CAutoVectorPtr::CAutoVectorPtr Oluşturucu.
CAutoVectorPtr::~CAutoVectorPtr Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CAutoVectorPtr::Allocate tarafından CAutoVectorPtrişaret edilen nesne dizisi için gereken belleği ayırmak için bu yöntemi çağırın.
CAutoVectorPtr::Attach Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın.
CAutoVectorPtr::D etach Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın.
CAutoVectorPtr::Free tarafından CAutoVectorPtrişaret edilen bir nesneyi silmek için bu yöntemi çağır.

Ortak İşleçler

Veri Akışı Adı Açıklama
CAutoVectorPtr::operator T * Atama işleci.
CAutoVectorPtr::operator = Atama işleci.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CAutoVectorPtr::m_p İşaretçi veri üye değişkeni.

Açıklamalar

Bu sınıf, kapsam dışında kalan kaynakları otomatik olarak boşaltarak bellek sızıntılarına karşı korumaya yardımcı olacak bir akıllı işaretçi oluşturmak ve yönetmek için yöntemler sağlar. CAutoVectorPtr, C++ new ve işleçleri yerine bellek ayırmak ve boşaltmak için ve delete kullanan vector new[] vector delete[] tek fark CAutoVectorPtr ile benzerdirCAutoPtr. Koleksiyon sınıfları gerekliyse bkz. CAutoVectorPtrElementTraits.CAutoVectorPtr

Akıllı işaretçi sınıfı kullanma örneği için bkz . CAutoPtr .

Gereksinimler

Üst bilgi: atlbase.h

CAutoVectorPtr::Allocate

tarafından CAutoVectorPtrişaret edilen nesne dizisi için gereken belleği ayırmak için bu yöntemi çağırın.

bool Allocate(size_t nElements) throw();

Parametreler

nElements
Dizideki öğelerin sayısı

Dönüş Değeri

Bellek başarıyla ayrılırsa true, hatada false döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, CAutoVectorPtr::m_p üye değişkeni şu anda mevcut bir değere işaret ederse, yani NULL'a eşit değilse onay hatası oluşur.

CAutoVectorPtr::Attach

Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın.

void Attach(T* p) throw();

Parametreler

p
CAutoVectorPtr Nesnesi bu işaretçinin sahipliğini alır.

Açıklamalar

Bir CAutoVectorPtr nesne işaretçinin sahipliğini aldığında, kapsam dışına çıktığında işaretçiyi ve ayrılan verileri otomatik olarak siler. CAutoVectorPtr::D etach çağrılırsa, programcıya ayrılan kaynakları boşaltma sorumluluğu yeniden verilir.

Hata ayıklama derlemelerinde, CAutoVectorPtr::m_p üye değişkeni şu anda mevcut bir değere işaret ederse, yani NULL'a eşit değilse onay hatası oluşur.

CAutoVectorPtr::CAutoVectorPtr

Oluşturucu.

CAutoVectorPtr() throw();
explicit CAutoVectorPtr(T* p) throw();
CAutoVectorPtr(CAutoVectorPtr<T>& p) throw();

Parametreler

p
Mevcut bir işaretçi.

Açıklamalar

Nesne CAutoVectorPtr , mevcut bir işaretçi kullanılarak oluşturulabilir ve bu durumda işaretçinin sahipliğini aktarır.

CAutoVectorPtr::~CAutoVectorPtr

Yok edici.

~CAutoVectorPtr() throw();

Açıklamalar

Ayrılan tüm kaynakları serbesttir. CAutoVectorPtr::Free'ı çağırır.

CAutoVectorPtr::D etach

Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın.

T* Detach() throw();

Dönüş Değeri

İşaretçinin bir kopyasını döndürür.

Açıklamalar

bir işaretçinin sahipliğini serbest bırakır, CAutoVectorPtr::m_p üye değişkenini NULL olarak ayarlar ve işaretçinin bir kopyasını döndürür. çağrısından Detachsonra, nesnenin daha önce sorumluluk üstlenmiş olabileceği ayrılmış kaynakları serbest getirmek programcıya CAutoVectorPtr aittir.

CAutoVectorPtr::Free

tarafından CAutoVectorPtrişaret edilen bir nesneyi silmek için bu yöntemi çağır.

void Free() throw();

Açıklamalar

tarafından CAutoVectorPtr işaret edilen nesne serbest ve CAutoVectorPtr::m_p üye değişkeni NULL olarak ayarlanır.

CAutoVectorPtr::m_p

İşaretçi veri üye değişkeni.

T* m_p;

Açıklamalar

Bu üye değişkeni işaretçi bilgilerini tutar.

CAutoVectorPtr::operator =

Atama işleci.

CAutoVectorPtr<T>& operator= (CAutoVectorPtr<T>& p) throw();

Parametreler

p
İşaretçi.

Dönüş Değeri

CAutoVectorPtr< T >öğesine başvuru döndürür.

Açıklamalar

Atama işleci nesneyi geçerli herhangi bir işaretçiden ayırır CAutoVectorPtr ve yerine yeni p işaretçisini ekler.

CAutoVectorPtr::operator T *

Atama işleci.

operator T*() const throw();

Açıklamalar

Sınıf şablonunda tanımlanan nesne veri türüne bir işaretçi döndürür.

Ayrıca bkz.

CAutoPtr Sınıfı
Sınıfa Genel Bakış