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 |
---|---|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
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