IAtlStringMgr Sınıfı
Bu sınıf bir CStringT
bellek yöneticisi arabirimini temsil eder.
Sözdizimi
__interface IAtlStringMgr
Üyeler
Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
Ayırmak | Yeni bir dize veri yapısı ayırmak için bu yöntemi çağır. |
Kopyalama | Başka bir örneğiyle kullanılmak üzere yeni bir dize yöneticisine işaretçi döndürmek için bu yöntemi çağırın CSimpleStringT . |
Ücretsiz | Dize veri yapısını boşaltmak için bu yöntemi çağır. |
GetNilString | Boş dize nesneleri tarafından kullanılan nesneye CStringData bir işaretçi döndürür. |
Yeniden ayırma | Bir dize veri yapısını yeniden dağıtmak için bu yöntemi çağır. |
Açıklamalar
Bu arabirim, MFC'ye bağımsız dize sınıfları tarafından kullanılan belleği yönetir; CSimpleStringT, CStringT ve CFixedStringT gibi.
Bu sınıfı, özel dize sınıfınız için özel bir bellek yöneticisi uygulamak için de kullanabilirsiniz. Daha fazla bilgi için bkz . Bellek Yönetimi ve CStringT.
Gereksinimler
Üst bilgi: atlsimpstr.h
IAtlStringMgr::Allocate
Yeni bir dize veri yapısı ayırır.
CStringData* Allocate(int nAllocLength,int nCharSize) throw();
Parametreler
nAllocLength
Yeni bellek bloğundaki karakter sayısı.
nCharSize
Dize yöneticisi tarafından kullanılan karakter türünün boyutu (bayt cinsinden).
Dönüş Değeri
Yeni ayrılan bellek bloğuna bir işaretçi döndürür.
Not
Özel durum oluşturarak başarısız ayırmaya işaret etmeyin. Bunun yerine, null döndürülerek başarısız ayırmaya işaret edilmelidir.
Açıklamalar
Bu yöntem tarafından ayrılan belleği boşaltmak için IAtlStringMgr::Free veya IAtlStringMgr::ReAllocate çağırın.
Not
Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.
IAtlStringMgr::Clone
Başka bir örneğiyle kullanılmak üzere yeni dize yöneticisine CSimpleStringT
yönelik bir işaretçi döndürür.
IAtlStringMgr* Clone() throw();
Dönüş Değeri
Nesnenin bir kopyasını IAtlStringMgr
döndürür.
Açıklamalar
Yeni bir dize için bir dize yöneticisi gerektiğinde genellikle çerçeve tarafından çağrılır. Çoğu durumda işaretçi this
döndürülür.
Ancak, bellek yöneticisinin birden çok örneği CSimpleStringT
tarafından kullanılmasını desteklemiyorsa, paylaşılabilir dize yöneticisine yönelik bir işaretçi döndürülmelidir.
Not
Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.
IAtlStringMgr::Free
Bir dize veri yapısı serbesttir.
void Free(CStringData* pData) throw();
Parametreler
pData
Boşaltılacak bellek bloğuna bir işaretçi.
Açıklamalar
Daha önce Ayırma veya Yeniden Ayırma tarafından ayrılan belirtilen bellek bloğunu serbest bırakır.
Not
Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.
IAtlStringMgr::GetNilString
Boş bir dize için dize veri yapısına yönelik bir işaretçi döndürür.
CStringData* GetNilString() throw();
Dönüş Değeri
Boş bir dizeyi CStringData
temsil etmek için kullanılan nesneye yönelik bir işaretçi.
Açıklamalar
Boş bir dizenin gösterimini döndürmek için bu işlevi çağırın.
Not
Özel dize yöneticisini uygularken bu işlev hiçbir zaman başarısız olmamalıdır. Dize yöneticisi sınıfına bir örneğini CNilStringData
ekleyerek ve bu örneğe bir işaretçi döndürerek bunu sağlayabilirsiniz.
Not
Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.
IAtlStringMgr::Reallocate
Bir dize veri yapısını yeniden ayırır.
CStringData* Reallocate(
CStringData* pData,
int nAllocLength,
int nCharSize) throw();
Parametreler
pData
Bu bellek yöneticisi tarafından daha önce ayrılan belleğin işaretçisi.
nAllocLength
Yeni bellek bloğundaki karakter sayısı.
nCharSize
Dize yöneticisi tarafından kullanılan karakter türünün boyutu (bayt cinsinden).
Dönüş Değeri
Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.
Açıklamalar
pData tarafından belirtilen mevcut bellek bloğunu yeniden boyutlandırmak için bu işlevi çağırın.
Bu yöntem tarafından ayrılan belleği boşaltmak için IAtlStringMgr::Free öğesini çağırın.
Not
Kullanım örnekleri için bkz . Bellek Yönetimi ve CStringT.