类的static成员初始化时机
VC2008
// .h#pragma once#include <list>using namespace std;class CTestClass{public: CTestClass(void); ~CTestClass(void); static list<int> s_list;};// .cpp#include "StdAfx.h"#include "TestClass.h"list<int> CTestClass::s_list; // <-- 断点1CTestClass::CTestClass(void){ s_list.push_back(1); // <-- 断点2}CTestClass::~CTestClass(void){}class CTestClass{public: CTestClass(void); ~CTestClass(void); typedef list<int> TestList; static TestList& GetInternalList() { static TestList s_list; // <-- 断点1 return s_list; }};CTestClass::CTestClass(void){ GetInternalList().push_back(1); // <-- 断点2}