Şu anda bir vektörü aramak ve öğelerini test etmek için bir yineleyici kullanıyorum. (Benim yineleyici değiştirmeden) da bir sonraki elemanı test etmekİşaretçi aritmetiğini bir STL :: vector :: yineleyicide yapabilir miyim
std::vector<int>::iterator it;
if (*it == 0);
aynı işaretçi aritmetiği tarzı mantığı kullanabilir miyim kullanarak öğelerine erişmek?
Ben ilk o sınırları
if (it != myvec.end())
O zaman bu işi ben işaretçiler kullanarak beklediğiniz Will hem cari elemanı ve bir sonraki eleman
if (*it == 1 && *(it + 1) == 1)
sınamak
dışarı yineleyici itecektir olmadığını görmek gerekir?
Yani, liste :: yineleyici üzerinde aritmetik işlem yapamıyorum, değil mi? – Alcott
@Alcott - doğru. Bir liste :: yineleyici iki yönlü bir yineleyici ve rastgele erişimi desteklemiyor. Tek bir çağrı ile hamle yapmak için std :: advance' kullanabilirsiniz, ancak ilerlemenin karmaşıklığı, listeler için O (n) 'dir (bir vektör için O (1)' dir). –