- 358 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 03:11:21 ]
- template<typename T>
calss singleton { static T ret; public: static T& get(){return ret;} template<typename X1> static T& set(const X1& x){ ret=T(x); return ret;} template<typename X1,typename X2> static T& set(const X1& x1,const X2& x2){ret=T(x1,x2);return ret;} //... X3 X4 X5 ... }; template<typename T> T singleton<T>::ret; ... ... singleton<hoge> x; hoge y = x.set("username"); ... ... vector vec; ... singleton<vector<char> > v; v.set(vec.begin(),vec.end()); vector vv=v.get(); ... v.set(1024,'\0'); read(fp,&v.get()[0],v.get().size()); ... class hoge2 : public singleton<hoge2> {} ... テンプレートかますとそれなりに便利だが。 使い道がいまいち謎だ。
|

|