yineleyici code>), bunların birkaç türü vardır. Yineleyici - « ; bazı kapsayıcı öğede ve (bazı kapsayıcılar için) önceki/sonraki öğeye gidebilir. Vektör, en güçlü - rastgele erişim yineleyiciyi(rastgele erişim yineleyici) kullanır. Bir rasgele erişim yineleyici, sıralı harekete ek olarak vektörün rasgele bir öğesine erişebilir. Yineleyicilerin Faydaları 1) Öğeleri silerken ve dizinleri ([]) kullanarak öğeler üzerinde yineleme yaparken, vektörün ötesine geçmemek için kalan öğelerin sayısını her zaman takip etmemiz gerekir ve bir yineleyici kullanarak, vektörün sonunu belirten end()< /code> kullanabilir. 2) Bir yineleyici kullanarak, bir vektördeki öğeleri kolayca dinamik olarak kaldırabilir ve ekleyebilirsiniz. Yineleyici bildirimi 1) Bir tamsayı vektörü için bir yineleyici bildirmek ve onu vektördeki ilk öğeye işaret etmek. vektör <int> vektörüm = { 1, 2, 3, 4, 5 }; vektör <int>::iterator it = myvector.begin(); 2) Bir tamsayı vektörü için yineleyici bildirmek ve bunu vektördeki son 'den sonraki öğeye işaret etmek. vektör <int> vektörüm = { 1, 2, 3, 4, 5 }; vektör <int>::iterator it = myvector.end(); // son elemandan sonraki elemana işaret ediyor, vektör <int>::iterator it1 = myvector.end() - 1 ; // son öğeyi işaret ediyor. Bir değer alma ve görüntüleme Yineleyici tarafından işaret edilen öğeyi alma ve görüntüleme. cout Yineleyici konumunu taşı Yineleyici konumunu 3 konum ileri taşıyın. ilerlemek(it, 3); Mevcut bir yineleyiciden yeni bir yineleyici oluşturma Mevcut olanı temel alan, 3 konum ilerleten yeni bir yineleyici oluşturun. otomatik it1 = sonraki(it, 3); Yineleyici kullanarak vektör değerlerini görüntüleme vector<int>::iterator it; for (it = myvector.begin(); o != myvector.end(); ++it) { cout<<*it<<" "; } Vektör geçişi Vektörü son öğeden ilk öğeye çaprazlamak için bir ters yineleyici reverse_iterator kullanılır, şu şekilde elde edilir: 1) rbegin() - vektörün son öğesini işaret eden bir ters yineleyici döndürür, ++ işleminin uygulanması önceki öğeye geçişe yol açar; 2) rend() - vektörün önceki öğesine işaret eden bir ters yineleyici döndürür, ++ işleminin uygulanması geçişe yol açar bir sonrakine. vector<int>::reverse_iterator it = myvector.rbegin(); // son öğeyi işaret ediyor vector<int>::reverse_iterator it = myvector.rend(); // bir öğeyi işaret ediyor, // ilkinden önce gelen,
rastgele erişim yineleyici
[]
end()< /code> kullanabilir. 2) Bir yineleyici kullanarak, bir vektördeki öğeleri kolayca dinamik olarak kaldırabilir ve ekleyebilirsiniz. Yineleyici bildirimi 1) Bir tamsayı vektörü için bir yineleyici bildirmek ve onu vektördeki ilk öğeye işaret etmek. vektör <int> vektörüm = { 1, 2, 3, 4, 5 }; vektör <int>::iterator it = myvector.begin(); 2) Bir tamsayı vektörü için yineleyici bildirmek ve bunu vektördeki son 'den sonraki öğeye işaret etmek. vektör <int> vektörüm = { 1, 2, 3, 4, 5 }; vektör <int>::iterator it = myvector.end(); // son elemandan sonraki elemana işaret ediyor, vektör <int>::iterator it1 = myvector.end() - 1 ; // son öğeyi işaret ediyor. Bir değer alma ve görüntüleme Yineleyici tarafından işaret edilen öğeyi alma ve görüntüleme. cout Yineleyici konumunu taşı Yineleyici konumunu 3 konum ileri taşıyın. ilerlemek(it, 3); Mevcut bir yineleyiciden yeni bir yineleyici oluşturma Mevcut olanı temel alan, 3 konum ilerleten yeni bir yineleyici oluşturun. otomatik it1 = sonraki(it, 3); Yineleyici kullanarak vektör değerlerini görüntüleme vector<int>::iterator it; for (it = myvector.begin(); o != myvector.end(); ++it) { cout<<*it<<" "; } Vektör geçişi Vektörü son öğeden ilk öğeye çaprazlamak için bir ters yineleyici reverse_iterator kullanılır, şu şekilde elde edilir: 1) rbegin() - vektörün son öğesini işaret eden bir ters yineleyici döndürür, ++ işleminin uygulanması önceki öğeye geçişe yol açar; 2) rend() - vektörün önceki öğesine işaret eden bir ters yineleyici döndürür, ++ işleminin uygulanması geçişe yol açar bir sonrakine. vector<int>::reverse_iterator it = myvector.rbegin(); // son öğeyi işaret ediyor vector<int>::reverse_iterator it = myvector.rend(); // bir öğeyi işaret ediyor, // ilkinden önce gelen,
ilerlemek(it, 3);
reverse_iterator
rbegin()
++
rend()
N
1000 ms 256 Mb Rules for program design and list of errors in automatic problem checking