Je suis un peu nouveau en C++, alors supportez-moi. J'essaie de savoir où placer exactement mes #defines
et #includes
dans mon projet. J'ai quelque chose comme ceci:Déclaration circulaire des directives du préprocesseur? Ou définit avant comprend?
main.h
#include "other.h"
#define MAX_GROUPS 100
struct Cat
{
int something[MAX_GROUPS];
}
En other.h
Je dois aussi utiliser MAX_GROUPS
, donc je définis également MAX_GROUPS
dans other.h
comme ceci:
autre.h
#define MAX_GROUPS 100
struct Other
{
int taco[MAX_GROUPS];
}
Le problème est que je définis une constante plus d'un endroit. Je veux garder tout ça ensemble.
Sinon, est-ce que je réinitialise main.h
?
other.h
#include "main.h"
struct Other
{
int taco[MAX_GROUPS];
}
Le problème ici, je pense que ce qui est crée comme une chose circulaire dépendance. main.h
comprend other.h
qui comprend main.h
qui comprend other.h
qui comprend etc ...
Quelle est la meilleure façon de configurer les définit et comprend un projet afin que les choses en cascade sorta vers d'autres fichiers inclus? Est-ce une pratique courante de simplement faire toutes vos définitions avant vos inclusions? Étant donné que main.h #include other.h, il n'a pas besoin de # définir à nouveau MAX_GROUPS.