smart_pointer пример

#pragma один раз
шаблон <имяТипа T>
класс smart_pointer
{
частное:
  T * m_pRawPointer;
общественности:
  smart_pointer (Т * PDATA): m_pRawPointer (PDATA) {}

  // конструктор копирования
  smart_pointer (Const smart_pointer & anotherSP);

  //赋值
  smart_pointer & оператор = (Const smart_pointer & anotherSP);

  //
  T & оператор * () сопзЬ
  {
    возвращение * (m_pRawPointer);
  }

  Т * operator-> () сопзЬ
  {
    вернуть m_pRawPointer;
  }

};

 

рекомендация

отwww.cnblogs.com/herd/p/10991563.html