Maison >développement back-end >C++ >NULL ou Zero pour les pointeurs en C : lequel préférer ?

NULL ou Zero pour les pointeurs en C : lequel préférer ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 17:56:14258parcourir

NULL or Zero for Pointers in C  : Which Should You Prefer?

Préférer NULL ou Zero pour les pointeurs en C

En C, le sujet de l'utilisation de NULL ou zéro (0) pour les pointeurs a été un sujet de débat depuis un certain temps. Alors que les premiers jours de C limitaient NULL aux pointeurs void*, il a depuis été redéfini à 0. Cependant, certaines personnes continuent de privilégier zéro.

Ceux qui préfèrent zéro soutiennent que c'est intrinsèquement plus logique et plus pratique. Ils soutiennent que puisque zéro peut être utilisé pour des comparaisons de valeurs de vérité, cela a plus de sens que NULL, qui nécessite une comparaison explicite. De plus, ils remettent en question l'intérêt de donner un nom (NULL) à une valeur existante.

D'un autre côté, ceux qui sont favorables à NULL citent les conseils fournis par Bjarne Stroustrup, le créateur de C . Selon Stroustrup, la définition de NULL en C est 0, ce qui en fait essentiellement une préférence esthétique. Il recommande d'éviter les macros, y compris NULL, et d'utiliser plutôt 0.

Stroustrup note également qu'en C 11, le mot-clé nullptr a été introduit comme nom officiel du pointeur nul. Cela fournit un moyen clair et cohérent de représenter les pointeurs nuls dans le code.

En fin de compte, le choix entre zéro et NULL peut dépendre de préférences personnelles. Cependant, il est important de prendre en compte les opinions de la communauté et les conseils fournis par le créateur de la langue. Dans les cas où la clarté et la cohérence sont primordiales, l'utilisation de nullptr est recommandée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn