Bir sınıf Foo'm var diyelim. Foo tipi bir vektör içerir. foo içinde vektör yinelemek için bir döngü yazmak ve biz vektörlerin üzerinde nerede bir seviyeye ulaşana kadar sürekli alt vektörler yinelemek Nasıl yinelemenize yapabilirsinizVektördeki tüm alt vektörler arasında nasıl yineleme yapılır?
class Foo
{
Foo();
std::vector<Foo> foos;
}
boştur, ama nasıl Vektörün boş olduğu bir seviyeye ulaşıncaya kadar orijinal vektör içindeki foo nesnelerini vektörler boyunca yinelemeli olarak yineliyorum.
Foo f;
if(!f->foos.empty())
{
std::vector<Foo>::const_iterator itr;
for (itr = f.foos.begin(); itr!=f.foos.end(); ++itr)
{
}
}
Eğer Foo'nun bir Foos'u varsa, oradaki özyineleşmiş doğası nedeniyle bir yığın taşması olacaktır. Bar'ın bir vektörünün olmadığından emin misin? –
@ChristopherBales haklı, bu DataStructure aslında bir Ağaç uygular ... – Exceptyon
Gönderilen kod yasadışıdır ve g ++ ve her zamanki seçeneklerle derlemez ('-D_GLIBCXX_CONCEPT_CHECKS -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC' de dahil olmak üzere) zor hatalara davranış. –