CArray sınıfı
c diziler gibi olan ancak dinamik olarak azaltmak ve gerektikçe büyümesini dizileri destekler.
template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray :
public CObject
Parametreler
TYPE
Şablon parametresi dizide saklanan nesne türünü belirtir.TYPEtarafından döndürülen bir parametre CArray.ARG*_*TYPE
Dizide saklanan nesnelere erişmek için kullanılan bağımsız değişken türü belirten şablon parametre.Genellikle bir başvuru TYPE.ARG_TYPEiçin geçirilen parametre CArray.
Üyeler
Ortak Oluşturucusu
Ad |
Description |
---|---|
Boş bir dizi oluşturur. |
Public yöntemler
Ad |
Description |
---|---|
Bir öğe dizinin sonuna ekler; dizi gerekirse büyür. |
|
Başka bir dizi diziye ekler; Gerekirse, dizi büyüyor |
|
Başka bir dizi diziye kopyalar; dizi gerekirse büyür. |
|
Dizi öğesi işaretçinin geçici bir başvuru döndürür. |
|
Geçerli üst sınır üstündeki tüm kullanılmayan belleği boşaltır. |
|
Belirtilen dizin değeri döndürür. |
|
Bu dizideki öğe sayısını alır. |
|
Dizideki öğelerin erişim sağlar.Olabilir null. |
|
Bu dizideki öğe sayısını alır. |
|
En büyük geçerli dizinini döndürür. |
|
Belirtilen bir dizinde bir öğe (veya başka bir dizideki tüm öğelerin) ekler. |
|
Dizi boş olup olmadığını belirler. |
|
Tüm öğeleri bu diziden çıkarır. |
|
Bir öğeye belirli bir dizini kaldırır. |
|
Belirtilen dizin değerini belirler; dizi büyümesine izin verilmiyor. |
|
Belirtilen dizin değerini belirler; dizi gerekirse büyür. |
|
Bu dizinin içerdiği öğelerin sayısını ayarlar. |
Ortak İşleçler
Ad |
Description |
---|---|
Ayarlar veya öğe belirtilen dizinde alır. |
Notlar
Dizi dizinleri her zaman 0 konumunda başlar.Üst sınır düzeltme veya bağlı geçerli geçmiş öğeleri eklediğinizde, genişletmek dizi etkinleştirmek karar verebilirsiniz.Bellek bazı öğeleri boş görünüyor olsa bile, üst sınır için bitişik tahsis edilir.
[!NOT]
Yeniden boyutlandırma pek çok yöntem bir CArray nesne veya ona öğelerini kullanan ekleme memcpy_s öğeleri taşımak için.Bu sorun, çünkü memcpy_s çağrılacak yapıcı gerektiren herhangi bir nesne ile uyumlu değildir.Öğeleri CArray ile uyumlu olmayan memcpy_s, yeni bir oluşturmanız gerekir CArray uygun boyutta.Daha sonra kullanmak gerekir CArray::Copy ve CArray::SetAt bir atama işleci yerine bu yöntemi kullanmak için yeni bir dizi doldurmak için memcpy_s.
c dizi, erişim süresi için olduğu gibi bir CArray dizinlenmiş öğesi sabittir ve dizi boyutu bağımsızdır.
İpucu |
---|
Bir dizi kullanmadan önce kullanmak SetSize boyutuna kurmak ve onun için bellek ayrılamadı.Değil kullanırsanız, SetSize, sizin diziye öğeler ekleme neden sık sık bırakılan ve kopyalanmış için.Sık sık yeniden tahsisat ve kopyalama verimsiz ve bellek parçalara. |
Döküm tek tek öğelerin bir dizi gereksinim duyarsanız, derinliğini ayarlamak CDumpContext 1 veya daha büyük nesne.
Birçok kullanım için bazı genel Yardımcısı işlevleri Bu sınıf çağrı üye işlevlerini özelleştirilmelidir CArray sınıfı.Konusuna Koleksiyon sınıfı Yardımcıları mfc makrolar ve Globals bölümünde.
Sınıf türetme dizi listesi türetme gibi olur.
Nasıl kullanılacağı hakkında daha fazla bilgi için CArray, makaleye bakın koleksiyonları.
Devralma hiyerarşisi
CArray
Gereksinimler
Header:afxtempl.h