C# Languagepuntatori

Osservazioni

Puntatori e unsafe

A causa della loro natura, i puntatori producono codice non verificabile. Pertanto, l'utilizzo di qualsiasi tipo di puntatore richiede un contesto unsafe .

Il tipo System.IntPtr è un wrapper sicuro attorno a un void* . È inteso come un'alternativa più conveniente a void* quando non è richiesto altrimenti un contesto non sicuro per eseguire l'attività a portata di mano.

Comportamento non definito

Come in C e C ++, l'uso scorretto di puntatori può richiamare un comportamento indefinito, con possibili effetti collaterali come il danneggiamento della memoria e l'esecuzione di codice non intenzionale. A causa della natura non verificabile della maggior parte delle operazioni del puntatore, l'uso corretto dei puntatori è interamente una responsabilità del programmatore.

Tipi che supportano i puntatori

A differenza di C e C ++, non tutti i tipi di C # hanno tipi di puntatore corrispondenti. Un tipo T può avere un tipo di puntatore corrispondente se si applicano entrambi i seguenti criteri:

  • T è un tipo di struttura o un tipo di puntatore.
  • T contiene solo membri che soddisfano entrambi questi criteri in modo ricorsivo.

puntatori Esempi correlati