Partilhar via


CObArray::RemoveAt

Remove um ou mais elementos que começam em um índice especificado em uma matriz.

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

Parâmetros

  • nIndex
    Um índice inteiro que é maior ou igual a 0 e menor ou igual ao valor retornado por GetUpperBound.

  • nCount
    O número de elementos para remover.

Comentários

Em o processo, desloca abaixo de todos os elementos acima dos elementos removidos.Diminui o limite superior da matriz mas não liberar a memória.

Se você tentar remover mais elementos de que estão contidos na matriz anterior do ponto de remoção, então a versão de depuração de biblioteca afirma.

A função de RemoveAt remove o ponteiro de CObject de matriz, mas não exclui o objeto.

A tabela a seguir mostra outras funções de membro que são semelhantes a CObArray::RemoveAt.

Classe

Função de membro

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 );

Exemplo

Consulte CObList::CObList para uma listagem da classe de CAge usada em todos os exemplos de coleção.

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      

Os resultados do programa é a seguinte:

RemoveAt example: A CObArray with 1 elements

[0] = a CAge at $4606 40

Requisitos

Cabeçalho: afxcoll.h

Consulte também

Referência

Classe de CObArray

Gráfico de hierarquia

CObArray::SetAt

CObArray::SetAtGrow

CObArray::InsertAt