クラス内の静的コンテナオブジェクトの初期化の問題

784 ワード

あるネットユーザーは

クラスには、メンバー変数static set SETがあります.1000要素で初期化するにはどうすればいいですか?

 
クラス内の特殊なメンバー変数の初期化には、この問題について専門的にブログを書いたテクニックが必要です.
特殊データ型メンバー変数の初期化
しかし、このブログには、上のネットユーザーが提起した問題は含まれていません.そのため、以下のコードを提供します.
#include 
#include 
using namespace std;

class Test
{
private:
	static set SET;
public:
	static void print()
	{
		for(set::iterator iter = SET.begin(); iter != SET.end(); ++iter)
		{
			cout << *iter << endl;
		}
	}
};

set init()
{
	set tmp;
	for(int i = 0; i < 1000; ++i)
	{
		tmp.insert(i);
	}
	return tmp;
}

set Test::SET(init());		//         set

int main(int argc, char** argv)
{
	Test::print();

	return 0;
}