私は、C++のコードを記述する場合、テンプレートを多用していることもあり、
実装の全てをヘッダファイルに記述しています。
その場合、問題になるのが静的変数の実体を記述する場所です。
C++では、実体はヘッダファイル(.h)ではなくソースファイル(.cpp)に記述する必要があります。
ヘッダファイルに実装を全て記述しているのに、静的変数のためにソースファイルを作るのも
バカバカしいですよね。
そういう場合、__declspec(selectany)を使うと、ヘッダファイル内に実体を記述することができます。
うーーーん、便利。なお、当然ですが、VC++の独自拡張です。
---
■Hoge.h
class CHoge
{
public:
CHoge() { }
public:
static int s_nHoge;
}
__declspec(selectany) int CHoge::s_nHoge = 0;
---
■selectany - MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/msmod_31.asp