[c++] When to use extern in C++