vector<self>
メンバー変数としてを持つ構造体を作成する必要があります。Boost は、これを実現する 2 つのメカニズムを提供します。
1 -boost::recursive_wrapper
すなわちを使用:
struct filter
{
uint32_t id;
std::vector< boost::recursive_wrapper< filter > > childFilters;
};
2 -boost::container
すなわち:
struct filter
{
uint32_t id;
boost::container::vector< filter > childFilters;
};
それぞれの技術に利点はありますか?2 番目のオプションは構文が少なく、内部的boost::container
には と同様の手法を使用していると思います。boost::recursive_wrapper