I think that it will define human several times, so it may happen that this leads to an ODR violation (see below). It's usually best to declare it in the title.
extern const string human;
and add the definition to the implementation file
string human("human");
Be careful with the initialization order fiasco and equivalent when closing the application.
An ODR violation can be caused when the built-in function with the ODR of the external connection uses human . I think that since it is really easy to do, and there is no way to protect it, it is best to define constant lines in the implementation file.
source share