Sdílet prostřednictvím


CObArray::RemoveAt

Odstraní jeden nebo více prvků od zadaného indexu v matici.

void RemoveAt(
   INT_PTR nIndex,
   INT_PTR nCount = 1 
);

Parametry

  • nIndex
    Integer index, který je větší nebo rovna 0 a menší než hodnoty vrácené GetUpperBound .

  • nCount
    Počet prvků, které chcete odebrat.

Poznámky

V procesu posune dolů nad prvků odebrány všechny prvky.To sníží horní vázané pole, ale není volné paměti.

Nepodmíněných pokusíte odebrat více prvků než jsou obsaženy v poli nad bodem odebrání pak ladicí verzi knihovny výrazů.

RemoveAt Odebere funkci CObject ukazatel z pole, ale neodstraní samotný objekt.

Následující tabulka obsahuje další členské funkce, které jsou podobné CObArray::RemoveAt .

Třída

Členská funkce

CByteArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CDWordArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CPtrArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CStringArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CUIntArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CWordArray

void RemoveAt( INT_PTRnIndex, INT_PTR nCount = 1 );

Příklad

Viz CObList::CObList seznam CAge třídy použitá v příkladech všechny kolekce.

CObArray arr;
CObject* pa;

arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1
if((pa = arr.GetAt(0)) != NULL)
{
    arr.RemoveAt(0);  // Element 1 moves to 0.
    delete pa; // Delete the original element at 0.
}
#ifdef _DEBUG
   afxDump.SetDepth(1);
   afxDump << _T("RemoveAt example: ") << &arr << _T("\n");
#endif      

Výsledky z tohoto programu jsou následující:

RemoveAt example: A CObArray with 1 elements

[0] = a CAge at $4606 40

Požadavky

Záhlaví: afxcoll.h

Viz také

Referenční dokumentace

Třída CObArray

Diagram hierarchie

CObArray::SetAt

CObArray::SetAtGrow

CObArray::InsertAt