pointerbool.h

来自「C++高级编程这本书所附的源代码」· C头文件 代码 · 共 58 行

H
58
字号
#include <cstdlib>template <typename T>class Pointer{public:  Pointer(T* inPtr);  ~Pointer();  T& operator*();  const T& operator*() const;  T* operator->();  const T* operator->() const;  operator bool() const { return (mPtr != NULL); }protected:  T* mPtr;private:  Pointer(const Pointer<T>& src);  Pointer<T>& operator=(const Pointer<T>& rhs);};template <typename T>Pointer<T>::Pointer(T* inPtr){  mPtr = inPtr;}template <typename T>Pointer<T>::~Pointer(){  delete mPtr;}template <typename T>T* Pointer<T>::operator->(){  return (mPtr);}template <typename T>const T* Pointer<T>::operator->() const{  return (mPtr);}template <typename T>T& Pointer<T>::operator*(){  return (*mPtr);}template <typename T>const T& Pointer<T>::operator*() const{  return (*mPtr);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?