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 |
---|---|
Vytvoří prázdné pole. |
Veřejné metody
Název |
Description |
---|---|
Přidá prvek do konce pole; pole roste, pokud je to nutné. |
|
Připojí další pole na pole; v případě potřeby zvětší matice |
|
Další pole zkopíruje do pole; pole roste, pokud je to nutné. |
|
Vrátí odkaz dočasné ukazatel prvek uvnitř pole. |
|
Uvolní všechny nevyužité paměti nad aktuální horní mez. |
|
Vrátí hodnotu v daném indexu. |
|
Počet prvků získá tohoto pole. |
|
Umožňuje přístup k prvkům matice.Může být NULL. |
|
Počet prvků získá tohoto pole. |
|
Vrátí největší platný index. |
|
Vloží zadaný index prvku (nebo všechny prvky v jiném poli). |
|
Určuje, zda je pole prázdné. |
|
Odebere všechny prvky z tohoto pole. |
|
Odstraní prvek na určité indexu. |
|
Nastaví hodnotu pro daný index; pole není povoleno pro růst. |
|
Nastaví hodnotu pro daný index; pole roste, pokud je to nutné. |
|
Nastaví počet prvků, které mají být obsaženy v tomto poli. |
Veřejné operátory
Název |
Description |
---|---|
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
CArray
Požadavky
Header:afxtempl.h