On Thu, November 16, 2006 12:42 pm, Andrew Talbot wrote:
As I understand it, declaring them static means that the storage will be assigned and initialised at compile time, rather than run time, since the size and contents are already known.
Correct. However, if they aren't constant, it means that they may get modified, which is an obvious problem. Making them non-static would indeed initialize them at runtime (small cost), but they would be guaranteed to have the value that we expect always.
I haven't looked at the code, maybe you can prove they are indeed constant, but that's ugly. I'd take the trivial runtime hit, for the sake of cleanliness.