Ponteiros no Common Type System (CTS)

Ponteiros são tipos especiais de variáveis.Há três tipos de ponteiros aceita pelo tempo de execução: ponteiros gerenciado, ponteiros não gerenciado e ponteiros de função não gerenciada.

Um ponteiro gerenciado, também conhecido como um identificador para um objeto no heap gerenciado, é um novo tipo de ponteiro disponível para aplicativos gerenciados.Ponteiros gerenciados são referências a um bloco gerenciado de memória no heap do Common Language Runtime.Coleta de lixo automática é executada neste heap.Ponteiros gerenciados são gerados para argumentos de métodos que são passados por referência.Algumas linguagens fornecem outras maneiras de gerar ponteiros gerenciados.Apenas os ponteiros gerenciados são compatíveis com CLS.

Observação:

Em O Visual C++ 2002 e o Visual C++ 2003, __gc * foi usado para declarar um ponteiro gerenciado.Isso é substituído por um ^ no Visual C++ 2005, por exemplo ArrayList^ al = gcnew ArrayList();.

Um ponteiro não gerenciado é o tradicional ponteiro C++ para um bloco de memória não gerenciado do heap C++ padrão.Como ponteiros não gerenciados não fazem parte do CLS (Common Language Specification), sua linguagem pode não fornecer sintaxe para definir ou acessar estes tipos.Consulte a documentação da sua linguagem para informações sobre suporte a ponteiros não gerenciados.

Um ponteiro de função não gerenciado é também um ponteiro C++ tradicional referente ao endereço de uma função.O CLS fornece os delegados como uma alternativa gerenciada para ponteiros de funções não gerenciados.

Uma definição explícita de um tipo ponteiro não é necessária.Todas as informações necessárias para determinar o tipo de um ponteiro estão presentes quando o ponteiro é declarado.

Enquanto tipos ponteiro são tipos de referência, o valor de um tipo ponteiro não é um objeto e você não pode determinar o tipo exato de tal valor.

O tipo comum sistema fornece duas operações de segurança de tipos em tipos ponteiro: Carregando um valor de e escrever um valor para o local referenciado pelo ponteiro.Estas operações com segurança de tipos são compatíveis com CLS.

O tipo comum sistema também fornece três operações aritméticas de endereços com base em byte em tipos ponteiro: adicionando inteiros para subtração de inteiros de ponteiros e subtraindo um ponteiro de outro.Os resultados das duas primeiras operações aritméticas retornam um valor do mesmo tipo que o ponteiro original.Estas operações baseadas em bytes não são compatíveis com CLS.

Consulte também

Conceitos

CLS (Common Language Specification)

Escrevendo código compatível com CLS

Outros recursos

Common Type System