Aracılığıyla paylaş


advance

Bir yineleyici tarafından belirtilen bir pozisyon sayısını artırır.

template<class InputIterator, class Distance>
   void advance(
      InputIterator& _InIt, 
      Distance _Off
   );

Parametreler

  • _InIt
    Yineleyici 'er olan ve giriş Yineleyici gereksinimleri karşılamak gerekir.

  • _Off
    Tamsayı türü Yineleyici'nın fark türüne dönüştürülebilir ve Yineleyici gelişmiş yapılandırmalar olarak konumudur artışlarla sayısını belirtir.

Notlar

Yineleyicilerde dereferenceable veya sonunun olması gereken yerde aracılığıyla Gelişmiş aralık nonsingular, olması gerekir.

InputIterator sonra bir çift yönlü Yineleyici türü gereksinimleri karşılayan _Off negatif olabilir.InputIterator bir giriş veya iletme Yineleyici türü olan _Off sıfırdan büyük olmalıdır.

Öncelikli işlevi sabit karmaşıklığı da artıyor, InputIterator rasgele erişim Yineleyici; gereksinimleri karşılar Aksi halde, doğrusal karmaşıklığı da artıyor ve potansiyel olarak pahalı.

Örnek

// iterator_advance.cpp
// compile with: /EHsc
#include <iterator>
#include <list>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   list<int> L;
   for ( i = 1 ; i < 9 ; ++i )  
   {
      L.push_back ( i );
   }
   list <int>::iterator L_Iter, LPOS = L.begin ( );

   cout << "The list L is: ( ";
   for ( L_Iter = L.begin( ) ; L_Iter != L.end( ); L_Iter++)
      cout << *L_Iter << " ";
   cout << ")." << endl;
   
   cout << "The iterator LPOS initially points to the first element: "
        << *LPOS << "." << endl;

   advance ( LPOS , 4 );
   cout << "LPOS is advanced 4 steps forward to point"
        << " to the fifth element: "
        << *LPOS << "." << endl;

   advance ( LPOS , -3 );
   cout << "LPOS is moved 3 steps back to point to the "
        << "2nd element: " << *LPOS << "." << endl;
}
  
  
  
  

Gereksinimler

Başlık: <iterator>

Namespace: std

Ayrıca bkz.

Başvuru

advance (STL Samples)

Standart Şablon Kütüphanesi