nullptr
La nullptr
mot clé spécifie une constante de pointeur Null de typestd::nullptr_t
, qui est convertible en n’importe quel type de pointeur brut. Bien que vous puissiez utiliser l’mot clé nullptr
sans inclure d’en-têtes, si votre code utilise le typestd::nullptr_t
, vous devez le définir en incluant l’en-tête<cstddef>
.
Remarque
Le nullptr
mot clé est également défini en C++/CLI pour les applications de code managé et n’est pas interchangeable avec le mot clé ISO Standard C++. Si votre code peut être compilé à l’aide de l’option du compilateur, qui cible le /clr
code managé, utilisez __nullptr
dans n’importe quelle ligne de code dans laquelle vous devez garantir que le compilateur utilise l’interprétation C++ native. Pour plus d’informations, consultez nullptr
(C++/CLI et C++/CX).
Notes
Évitez d’utiliser NULL
ou de zéro (0
) comme constante de pointeur Null ; nullptr
est moins vulnérable à une mauvaise utilisation et fonctionne mieux dans la plupart des situations. Par exemple, étant donné func(std::pair<const char *, double>)
, l'appel à func(std::make_pair(NULL, 3.14))
provoque une erreur du compilateur. La macro NULL
se développe sur 0
, de sorte que l’appel std::make_pair(0, 3.14)
retourne std::pair<int, double>
, qui n’est pas convertible en std::pair<const char *, double>
type de paramètre dans func
. L'appel à func(std::make_pair(nullptr, 3.14))
entraîne une compilation correcte, car std::make_pair(nullptr, 3.14)
retourne std::pair<std::nullptr_t, double>
, qui peut être convertie en std::pair<const char *, double>
.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour