Недостатки прямого объявления класса C ++?

Я хочу использовать предварительное объявление класса в моем программном обеспечении, чтобы я мог иметь typedefs

и использовать их внутри полной декларации класса.

Что-то вроде этого:

class myclass;
typedef boost::shared_ptr pmyclass;
typedef std::list myclasslist;

class myclass : public baseclass
{
private:        // private member declarations
        __fastcall myclass();

public:         // public member declarations
        __fastcall myclass(myclass *Parent)
            : mEntry(new myclass2())
          {
            this->mParent = Parent;
          }
        const myclass *mParent;
        myclasslist mChildren;
        boost::scoped_ptr mEntry;
};

поэтому мой вопрос: есть ли недостатки в этом методе? Я вспоминаю некоторые обсуждения проблем деструкторов с предварительным объявлением, но я не получил все оттуда.

или есть какой-то другой способ реализовать что-то подобное?

Благодарю.

РЕДАКТИРОВАТЬ: я нашел обсуждение, я имел в виду:Вот

Ответы на вопрос(2)

Ваш ответ на вопрос