Tout est dans le sujet.
Je voulais savoir quelle était la meilleure syntaxe pour un test avec un pointeur ptr.
Tout est dans le sujet.
Je voulais savoir quelle était la meilleure syntaxe pour un test avec un pointeur ptr.
Pour moi, aucune différence.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
pour la relecture ultérieure je préfère l'écriture à rallonge...ca parle mieux en général!
ptr!=0
Ce n'est qu'un format d'écriture car NULL est une constante du préprocesseur remplacé par 0 ...
Quand a la question principale ... il est plus propre de faire ptr!=0 même si cela est fait implicitement par le compilateur pour if(ptr) ( false = 0, true = toute les autres valeurs.. ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define NULL 0
Ce n'est qu'un problème d'écriture de code.. pas de comportement..
En même temps mettre if (ptr!=NULL) pour la relecture par quelqu'un d'autre, ca indique clairement que ptr est de type pointeur. Moi je préfère clairement cette version (au lieu de if (ptr) ou de if(ptr!=0))
if(0 != ptr)
if(NULL != ptr)
{
...
}
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Si avec if( ptr ) on ne voit pas d'un simple coup d'œil que c'est un pointeur c'est que le code est peut-être trop complexe (trop de variables, trop de données membres, fonction trop longue, etc..).
Après ça n'a pas vraiment d'importance, ce qui compte c'est que ça soit homogène dans toute la base de code.
Oh et puis de toute façon il ne faut pas manipuler de pointeur nu !
MAT.
Salut à tous !
Il n'y a pas de différence entre if (ptr) et if (ptr != 0). Moi, je préfère la deuxième forme.
D'après Stroustrup, il vaut mieux éviter d'utiliser NULL : il s'agit en fait d'une macro constante :
Or, ce genre de définition échappe au contrôle de type et risque d'être redéfinie. Utiliser 0 est plus sûr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define NULL 0
À bientôt.
Le Farfadet Spatial
Partager