salut à tous
je voudrais savoir à quoi servent ces deux lignes écrites en début d'un .cpp :
#ifndef _nomDeLaClasse_HPP_
#define _nomDeLaClasse_HPP_
Merci bp et très bonne journée:D
Version imprimable
salut à tous
je voudrais savoir à quoi servent ces deux lignes écrites en début d'un .cpp :
#ifndef _nomDeLaClasse_HPP_
#define _nomDeLaClasse_HPP_
Merci bp et très bonne journée:D
Salut,
#ifndef vient forcément associé avec un #endif.
L'intérêt est d'inclure une partie de code, uniquement une fois.
Au premier passage, le ifndef ( if not defined ) return true, donc on rentre dans la portion de code. La première ligne définie la variable testée, donc au prochain passage, le ifndef returnera false, et le code ne sera plus incluS.
A+
Salut,
Tout simplement IF Not DEFined (si ce n'est pas défini)
Il créera un bloc "indivisible" allant jusqu'au #endif qui lui correspond
C'est, tout simplement, une structure de controle qui dira
Si _nomDeLaClasse_HPP_ n'est pas défini
tu défini _nomDeLaClasse_HPP_
(tout le code de la définition de ta classe)
#endif (et on s'arrete ici)
Le but est d'éviter que l'on essaye de définir quelque chose qui est déjà défini...
Les instructions qui commencent par un # (#ifdef, #ifndef, #endif, #include, #define...)sont des instructions "préprocesseur".
Il s'agit de "macro" qui permettront au préprocesseur de travailler selon ce qu'il a déjà rencontré lorsqu'il parcoure un fichier...
En général, on trouve ça dans un fichier .h (ou .hpp) mais pas un .cpp
Ce sont des instructions pour le préprocesseur qui évitent d'inclure plusieurs fois le même fichier .h
#ifndef _nomDeLaClasse_HPP_ => Si la variable préprocesseur _nomDeLaClasse_HPP_ n'est pas définie
#define _nomDeLaClasse_HPP_ => Alors on la définit...
Et à la fin de ton .h, tu dois avoir #endif => C'est la fin de la condition...