Bir yineleyiciden geçtim ve bunu başka bir işleve iletmem gerekiyor - ancak bazı öğelerin atlanması için filtreleniyor (bu bir dizi işaretçi ve NULL işaretçisini filtrelemek istiyorum).boost :: filter_iterator - bunu STL ile nasıl yapardım?
Bunun nasıl yapılacağını görmek için "stl filter iterator" adresine baktım ve boost::filter_iterator ortaya çıktı.
Güzel görünüyor ve kullanabilirdim, ama bunu eski STL ile de yapabilir miyim? Unsurları yeni bir kaba kopyalamaksızın elbette.
Gerekli begin()
, end()
vb işlevlerini sağlayan başka bir yineleyici sınıfı oluşturmam gerekiyor ve filtreleme yapıyor mu? Yani tam olarak boost
iterator_filter
... yeniden tanımlamak zorunda mıyım?
Biraz katılmıyorum: destek yüklemek zor olabilir ve bazen bu fazladan bağımlılık istemiyorsunuz. Bence * gerçek * sebebi 'filter_iterator' 'i tekrar yazmaz, doğru yazmak için oldukça zor (ve çok hantal) bir şeydir. –