Из всего, что я читаю и тестирую, нет способа (без макроса препроцессора) определить константу в общем заголовке и убедиться, что каждый TU не создает собственное хранилище для этой константы.
Я могу это сделать:
const int maxtt=888888;
То же самое, что и:
static const int maxtt=888888;
И если этот заголовок будет общим, он будет работать, но каждый TU получит свою собственную копию maxtt
. Я также мог бы сделать это, чтобы предотвратить это:
extern const int maxtt;
Но тогда я не могу определить maxtt
здесь; это должно быть сделано в CPP, чтобы избежать ошибки компоновщика.
Правильно ли я понимаю?