Недостатки прямого объявления класса 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;
};
поэтому мой вопрос: есть ли недостатки в этом методе? Я вспоминаю некоторые обсуждения проблем деструкторов с предварительным объявлением, но я не получил все оттуда.
или есть какой-то другой способ реализовать что-то подобное?
Благодарю.
РЕДАКТИРОВАТЬ: я нашел обсуждение, я имел в виду:Вот