Classe de CArray
Suporta matrizes que são como matrizes de C, mas pode crescer e reduz dinamicamente como necessário.
template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray :
public CObject
Parâmetros
TYPE
O parâmetro do modelo que especifica o tipo de objetos armazenados na matriz.TYPE é um parametro que é retornado por CArray.ARG*_*TYPE
O parâmetro do modelo que especifica o tipo de argumento que é usada para acessar objetos armazenados na matriz.Geralmente uma referência a TYPE.ARG_TYPE é um parametro que é passado para CArray.
Membros
Construtores public
Nome |
Descrição |
---|---|
Constrói uma matriz vazia. |
Métodos públicos
Nome |
Descrição |
---|---|
Adiciona um elemento ao final da matriz; aumenta a matriz se necessário. |
|
Acrescenta uma matriz a outra matriz; aumenta a matriz se necessário |
|
Copia uma matriz a outra matriz; aumenta a matriz se necessário. |
|
Retorna uma referência temporária ao ponteiro de elemento dentro da matriz. |
|
Qualquer libera a memória não usado acima do limite superior atual. |
|
Retorna o valor em um índice especificado. |
|
Obtém o número de elementos em esta matriz. |
|
Permite acesso aos elementos na matriz.Pode ser NULO. |
|
Obtém o número de elementos em esta matriz. |
|
Retorna o índice válido maior. |
|
Insere elemento (ou todos os elementos em outros matriz) em um índice especificado. |
|
Determina se a matriz está vazia. |
|
Remove todos os elementos da matriz. |
|
Remove um elemento em um índice específico. |
|
Defina o valor para um índice dado; matriz não permitida crescer. |
|
Defina o valor para um índice dado; aumenta a matriz se necessário. |
|
Define o número de elementos a serem contidos em esta matriz. |
Operadores públicos
Nome |
Descrição |
---|---|
Obtém ou define o elemento no índice especificado. |
Comentários
Matriz de índices sempre início na posição 0.Você pode decidir se corrigir o limite superior ou ativar a matriz para expandir quando você adiciona elementos após o limite atual.A memória é atribuída continuamente ao limite superior, mesmo se alguns elementos são nulos.
Observação |
---|
A maioria dos métodos de redimensionamento um objeto de CArray ou para adicionar elementos uso memcpy_s aos elementos de animação.Este é um problema pois memcpy_s não é compatível com qualquer objeto que exigem o construtor ser chamados.Se os itens em CArray não são compatíveis com memcpy_s, você deve criar uma nova CArray de tamanho apropriado.Você deve usar CArray::Copy e CArray::SetAt para preencher a nova matriz porque esses métodos usam um operador de atribuição em vez de memcpy_s. |
Como com matriz de energia AC, última hora de acesso para um elemento indexado CArray são constantes e são independentes do tamanho da matriz.
Dica |
---|
Antes de usar uma matriz, use SetSize para estabelecer o tamanho e atribuir a memória para ele.Se você não usar SetSize, adicione os elementos a sua matriz freqüentemente faz com que ele manipule a ser realocada e copiado.A realocação freqüentes e copiar e são não podem fragmentar a memória. |
Se você precisar de um despejo dos elementos individuais em uma matriz, você deve definir o tamanho do objeto de CDumpContext a 1 ou maior.
Determinadas funções de membro de essa classe chamam funções auxiliares globais que devem ser personalizadas para a maioria dos usos da classe de CArray .Consulte o tópico Auxiliares de classe de coleção na seção de macros e de Globais MFC.
A derivação da classe da matriz é como a derivação da lista.
Para obter mais informações sobre como usar CArray, consulte o artigo coleções.
Hierarquia de herança
CArray
Requisitos
Header: afxtempl.h