Bir yineleyiciyi (isteğe bağlı) başka bir yineleyicinin (aynı türden) ardılı ile başlatmak istiyorum. Aşağıdaki kod rasgele erişim adım adım elde çalışır, ancak ileri veya çift yönlü adım adım elde başarısız:iterator successor
Iterator i = j;
++i;
Ama bu init-stament olarak çalışmaz:
Iterator i = j + 1;
basit bir çözüm olduğunu bir döngü için. bu gibi kullanmak sonra
template <typename Iterator>
Iterator succ(Iterator it)
{
return ++it;
}
ve: Ben aşağıdaki gibi bir işlev şablonu kullanabilir
Iterator i = succ(j);
STL veya Boost böyle bir şey var mı, yoksa daha iyi bir çözüm yoktur ben farkında değil miyim?
Bunu “iterator i = j; ++ i; '' for' döngüsünün içinde mümkün değil - bunu genişletebilir misin? Bir 'for' döngüsünde iyi çalışmalı. –
@Michael: 'x' sözcüğünü, (x; y; z) için, yani döngü gövdesinin içinde değil, demek istedim. – fredoverflow
Görüyorum; bu mantıklı. Bütünlük için –