Everyone knows that global variables are a Bad Thing. It's not too clear why they're bad, but it probably has something to do with speed. Think about it. You never know where a Global could be (it could be across the Globe, after all!). But a Local variable -- it's always right there, nearby.
Serge's colleague discovered a way to gain all the benefits of global variables without hampering performance too much ...
bool ReturnBool(void)
{
static bool bBoolToReturn = false;
static bool bInitialized = false;
if (bInitialized == false)
{
bBoolToReturn = bGlobalBool;
bInitialized = true;
}
return bBoolToReturn;
}