C# LanguagePointeurs


Remarques

Pointeurs et unsafe

En raison de leur nature, les pointeurs produisent du code invérifiable. Ainsi, l'utilisation de tout type de pointeur nécessite un contexte unsafe .

Le type System.IntPtr est un wrapper sûr autour d'un void* . Il est conçu comme une alternative plus pratique au void* lorsqu'un contexte dangereux n'est pas requis pour effectuer la tâche en cours.

Comportement non défini

Comme en C et C ++, l'utilisation incorrecte des pointeurs peut invoquer un comportement indéfini, avec des effets secondaires possibles, à savoir la corruption de la mémoire et l'exécution de code non intentionnel. En raison de la nature invérifiable de la plupart des opérations de pointeur, l'utilisation correcte des pointeurs est entièrement à la charge du programmeur.

Types prenant en charge les pointeurs

Contrairement à C et C ++, tous les types C # ne possèdent pas les types de pointeurs correspondants. Un type T peut avoir un type de pointeur correspondant si les deux critères suivants s'appliquent:

  • T est un type de structure ou un type de pointeur.
  • T contient uniquement les membres qui satisfont ces deux critères de manière récursive.

Pointeurs Exemples Liés