J'ai vu #ifndef ABC
et #if !defined (ABC)
dans le même fichier source C.
Y a-t-il une différence subtile entre eux? (Si c'est une question de style, pourquoi quelqu'un les utiliserait-il dans le même fichier)
J'ai vu #ifndef ABC
et #if !defined (ABC)
dans le même fichier source C.
Y a-t-il une différence subtile entre eux? (Si c'est une question de style, pourquoi quelqu'un les utiliserait-il dans le même fichier)
Non, il n'y a pas de différence entre les deux alors utilisé de cette façon. La dernière forme (à l'aide d' defined()
) est utile lors de la première #if
ou l'une de l' #elif
conditions a besoin d'un test plus complexes. #ifdef
fonctionnera encore, mais il pourrait être plus clair à l'aide de #if defined()
dans ce cas. Par exemple, si elle a besoin de tester si plus d'une macro est définie, ou si elle est égale à une valeur spécifique.
La variance (en utilisant à la fois dans un fichier) pourrait dépendre sur des subtilités de l'utilisation, comme mentionné ci-dessus, ou tout simplement une mauvaise pratique par incohérent.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.