design pattern(GoF patterns) implementation in c++
What are the elegant design pattern(GoF patterns) implementation in c++ ?
Can anyone give me some examples of design pattern implementations based
on template(which can be reused) ?
Example(Template based Singleton) :-
template<typename T>
class Singleton : public boost::noncopyable
{
public:
static Singleton& GetInstance()
{
boost::call_once(&CreateInstance, m_onceFlg);
return *m_pInstance;
}
virtual ~Singleton()
{
}
protected:
Singleton ()
{
}
static void CreateInstance()
{
m_pInstance.reset(new T());
}
private:
static boost::once_flag m_onceFlg;
static boost::scoped_ptr<T> m_pInstance;
};
No comments:
Post a Comment