Coder avec des affirmations considère un bon style de codage.
Comme pour l'exécution Activation/Désactivation Vous pouvez le faire avec une variable booléenne. Par exemple dans votre code, vous pouvez effectuer les opérations suivantes:
Définir une variable qui sera utilisée pour indiquer si les assertions sont activées ou désactivées dans un espace de noms global (par exemple, hors de votre fonction main() dans le même fichier) .
bool turnOnAssertions;
Définir une variable comme écrit ci-dessous dans d'autres fichiers où vous voulez activer/désactiver vos affirmations:
extern bool turnOnAssertions;
Donc, en manipulant la variable turnOnAssertions avec l'interface utilisateur et de l'écriture
if(turnOnAssertions)
assert(…);
vous pouvez activer/désactiver certaines de vos assertions!
En ce qui concerne le temps de compilation vous devez faire ce qui suit:
Pour vous compilateur vous devez donner un drapeau comme -DASSERTIONSON (-Dflag_name [nom du drapeau que vous pouvez définir tout ce que vous voulez])
#ifdef ASSERTIONSON
bool turnOnAssertions = true;
#else
bool turnOnAssertions = false;
#endif
Et utilisez simplement la variable.
Bonne chance!
Activation/désactivation au moment de la compilation ou de l'exécution? –
Bon point. Au moment de la compilation. –