In Objective C (if that matters) is there a difference between these two statements? And if so, what?
Statement 1:
std::map<id, id> foo;
Statement 2:
static std::map<id, id> sFoo;
Note that these are both globals that would be declared in the .mm at file scope.
static, in this context, means that the variable is visible only within the current file, but is visible everywhere in that file. So no: a true global variable would be visible everywhere.