Sdílet prostřednictvím


Třída CArray

Podporuje pole, které jsou jako c matice, ale můžete dynamicky snížit a růst podle potřeby.

template < class TYPE, class ARG_TYPE = const TYPE& > 
class CArray : 
   public CObject

Parametry

  • TYPE
    Parametr šablony, který určuje typ objektů uložených v poli.TYPEje parametr, který vrátil CArray .

  • ARG _ TYPE
    Šablona parametr, který určuje typ argumentu, který se používá pro přístup k objektům uloženým v poli.Často odkaz na TYPE .ARG_TYPEje parametr, který je předán do CArray .

Členy

Veřejné konstruktory

Název

Description

CArray::CArray

Vytvoří prázdné pole.

Veřejné metody

Název

Description

CArray::Add

Přidá prvek do konce pole; pole roste, pokud je to nutné.

CArray::Append

Připojí další pole na pole; v případě potřeby zvětší matice

CArray::Copy

Další pole zkopíruje do pole; pole roste, pokud je to nutné.

CArray::ElementAt

Vrátí odkaz dočasné ukazatel prvek uvnitř pole.

CArray::FreeExtra

Uvolní všechny nevyužité paměti nad aktuální horní mez.

CArray::GetAt

Vrátí hodnotu v daném indexu.

CArray::GetCount

Počet prvků získá tohoto pole.

CArray::GetData

Umožňuje přístup k prvkům matice.Může být NULL.

CArray::GetSize

Počet prvků získá tohoto pole.

CArray::GetUpperBound

Vrátí největší platný index.

CArray::InsertAt

Vloží zadaný index prvku (nebo všechny prvky v jiném poli).

CArray::IsEmpty

Určuje, zda je pole prázdné.

CArray::RemoveAll

Odebere všechny prvky z tohoto pole.

CArray::RemoveAt

Odstraní prvek na určité indexu.

CArray::SetAt

Nastaví hodnotu pro daný index; pole není povoleno pro růst.

CArray::SetAtGrow

Nastaví hodnotu pro daný index; pole roste, pokud je to nutné.

CArray::SetSize

Nastaví počet prvků, které mají být obsaženy v tomto poli.

Veřejné operátory

Název

Description

[CArray::operator]

Nastaví nebo získá prvku v zadaném indexu.

Poznámky

Indexy pole vždy začínají na pozici 0.Můžete se rozhodnout, zda stanovit horní mez nebo Povolit rozbalení při přidávání prvků za aktuální vázané pole.Paměti přidělen souvisle horní mez, i když jsou některé prvky null.

[!POZNÁMKA]

Většina metod, které velikost CArray objektu nebo přidat prvky do něj použít memcpy_s prvky přesunout.Protože se jedná o problém memcpy_s není kompatibilní s objekty, které se požadují pro volání konstruktoru.Pokud položky CArray nejsou kompatibilní s memcpy_s , je nutné vytvořit nový CArray odpovídající velikost.Musíte použít CArray::Copy a CArray::SetAt k naplnění nové pole, protože tyto metody používá operátor přiřazení místo memcpy_s .

Stejně jako c matice, čas přístupu CArray elementu indexovaného konstantní a je nezávislá na velikosti pole.

Tip

Před použitím pole, použijte SetSize jeho velikost a přidělit paměť.Pokud nepoužíváte SetSize , přidávání prvků pole způsobí často přerozděleny a zkopírován.Přerozdělení časté kopírování jsou neefektivní a paměti lze rozdělit.

Pokud potřebujete výpis jednotlivých prvků v poli, musíte nastavit hloubku CDumpContext 1 nebo větší objektu.

Některé funkce členů tohoto volání třídy globální pomocných funkcí, které musí přizpůsobit většiny použití CArray třídy.Naleznete v tématu Pomocníky třídy kolekce v části makra MFC a Globals.

Odvození třídy Array je jako seznam odvození.

Další informace o použití CArray , naleznete v článku kolekce.

Hierarchii dědičnosti

CObject

CArray

Požadavky

Header:afxtempl.h

Viz také

Referenční dokumentace

Třída CObject

Graf hierarchie

Třída CObArray

Koncepty

Vzorek MFC shromáždit

Další zdroje

Pomocné rutiny třídy kolekce