C++0x 9
■ このスレッドは過去ログ倉庫に格納されています
0704デフォルトの名無しさん
2010/05/09(日) 18:41:52public:
template <typename P...> void alloc(const P&... values) { m_pair = new Pair(values...); }
T* operator->() { return m_pair == nullptr ? nullptr : &m_pair->obj; }
T& operator*() { assert(m_pair != nullptr); return m_pair->obj; }
private:
struct Pair {
T obj;
int cnt;
template <typename P...>
Pair(const P&... values) : obj(values...), cnt(1) { }
};
std::unique_ptr<Pair> m_pair;
};
カウントする部分は今はどうでもいいから書かないけど
こういう事はできるのかい?
■ このスレッドは過去ログ倉庫に格納されています