📄 xptr.h
字号:
#if !defined XPTR_H
#define XPTR_H
template <class T>
class XPtr
{
public:
~XPtr () { delete _p; }
T* Acquire ()
{
T * pTmp = _p;
_p = 0;
return pTmp;
}
T * operator->() { return _p; }
T const & GetAccess () const { return *_p; }
protected:
// protected constructors
XPtr (): _p (0) {}
XPtr (T* p): _p (p) {}
T * _p;
};
template <class T>
class XArray
{
public:
XArray (int size)
: _arr (new T [size]) {}
~XArray () { delete []_arr; }
T * Acquire ()
{
T * aTmp = _arr;
_arr = 0;
return aTmp;
}
T const & operator [] (int i) const { return _arr [i]; }
T& operator [] (int i) { return _arr [i]; }
protected:
T * _arr;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -