Generic Programming with C++ Template
レス数が900を超えています。1000を超えると表示できなくなるよ。
0925921
NGNGいいんですが、巷にはたくさんスマートポインタがあり、
対応するのにいちいちそれを書いていたらとっても大変です。
以下のクラスを書きました。
参照、ポインタ、スマートポインタを吸収し、ただのポインタとして保持します。
template <typename T>
class pointer
{
public:
template <class U>pointer(U &p) { init(p,&p); }
pointer(T &p) { p_=&p; }
pointer(T *p) { p_=p; }
operator T *() const { return p_; }
T *operator ->() const { return p_; }
private:
template <class U> void init(U &p,const T *) { p_=&p; }
template <class U> void init(U &p,const void *) { p_=&*p; }
private:
T *p_;
};
レス数が900を超えています。1000を超えると表示できなくなるよ。