static keyword keeps the scope of a global variable limited to that translation unit.
If I use static int x in a .h file and include that .h file every
you will end up will private copies of that variable per translation, which will result in bloat if you put it there. it would also make no sense to have to random copies all over the place. no it's not ok.
you can declare a const int in a namespace block; that's ok.