Aracılığıyla paylaş


ostream_iterator Sınıfı

Sınıf şablonu ostream_iterator ayıklama ile çıkış akışına ardışık öğeler yazan bir çıkış yineleyici nesnesi açıklar.

Sözdizimi

template <class Type, class CharType = char, class Traits = char_traits <CharType>>
class ostream_iterator

Parametreler

Type
Çıkış akımına eklenecek nesnenin türü.

CharType
için karakter türünü temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değerdir .

Traits
için karakter türünü temsil eden tür. Bu bağımsız değişken isteğe bağlıdır ve varsayılan değer .*

Ostream_iterator sınıfının, bir çıkış yineleyici için gereksinimleri karşılaması gerekir. Algoritmalar bir kullanılarak çıkış akışlarına doğrudan yazılabilir.

Oluşturucular

Oluşturucu Açıklama
ostream_iterator Çıkış akışına yazmak için başlatılan ve sınırlandırılmış bir oluşturur.

Tür tanımları

Tür adı Açıklama
char_type öğesinin karakter türünü sağlayan bir tür .
ostream_type akış türü için sağlayan bir tür .
traits_type karakterinin karakter özellikleri türünü sağlayan bir tür.

İşleçler

Operator Açıklama
operator* Çıkış yineleyici ifadesini uygulamak için kullanılan başvuru kaldırma işleci.
operator++ İşlem çağrılmadan önce ele alındığı nesneye bir döndüren işlevsiz bir artış işleci.
operator= Atama işleci, çıkış akışına yazmak için çıkış yineleyici ifadesini uygulamak için kullanılır.

Gereksinimler

Üstbilgi:

Ad alanı:

ostream_iterator::char_type

Yineleyicinin karakter türünü sağlayan bir tür.

typedef CharType char_type;

Açıklamalar

türü, şablon parametresi için bir eş anlamlıdır.

Örnek

// ostream_iterator_char_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   typedef ostream_iterator<int>::char_type CHT1;
   typedef ostream_iterator<int>::traits_type CHTR1;

   // ostream_iterator for stream cout
   // with new line delimiter:
    ostream_iterator<int, CHT1, CHTR1> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream:
   cout << "The integers written to the output stream\n"
        << "by intOut are:" << endl;
*intOut = 10;
*intOut = 20;
*intOut = 30;
}
The integers written to the output stream
by intOut are:
10
20
30

ostream_iterator::operator*

Çıkış yineleyici ifadesini uygulamak için kullanılan başvuru kaldırma işleci.

ostream_iterator<Type, CharType, Traits>& operator*();

Dönüş Değeri

öğesine bir başvuru.

Açıklamalar

Yerine getirmesi gereken bir çıkış yineleyicisinin gereksinimleri yalnızca ifadenin geçerli olmasını gerektirir ve veya ile ilgili hiçbir şey söylemiyor. Bu uygulamadaki üye işleci döndürür .

Örnek

// ostream_iterator_op_deref.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
   *intOut = 10;
   intOut++;      // No effect on iterator position
   *intOut = 20;
   *intOut = 30;
}
Elements written to output stream:
10
20
30

ostream_iterator::operator++

İşlem çağrılmadan önce ele alındığı nesneye bir döndüren işlevsiz bir artış işleci.

ostream_iterator<Type, CharType, Traits>& operator++();
ostream_iterator<Type, CharType, Traits> operator++(int);

Dönüş Değeri

öğesine bir başvuru.

Açıklamalar

Bu üye işleçlerin her ikisi de döndürür .

Örnek

// ostream_iterator_op_incr.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
   *intOut = 10;
   intOut++;      // No effect on iterator position
   *intOut = 20;
   *intOut = 30;
}
Elements written to output stream:
10
20
30

ostream_iterator::operator=

Çıkış akışına yazmak için output_iterator ifadesini uygulamak için kullanılan atama işleci.

ostream_iterator<Type, CharType, Traits>& operator=(const Type& val);

Parametreler

val
Çıkış akışına eklenecek türündeki nesnenin değeri.

Dönüş Değeri

işleci nesnesiyle ilişkilendirilmiş çıkış akışına ekler , ardından içinde belirtilen sınırlayıcıyı (varsa) ve sonra öğesine bir başvuru döndürür.

Açıklamalar

Yerine getirmesi gereken bir çıkış yineleyicisinin gereksinimleri yalnızca ifadenin geçerli olmasını gerektirir ve işleç veya işleç= hakkında tek başına hiçbir şey söylemiyor. Bu üye işleci döndürür .

Örnek

// ostream_iterator_op_assign.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   // with new line delimiter
   ostream_iterator<int> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream
   cout << "Elements written to output stream:" << endl;
   *intOut = 10;
   intOut++;      // No effect on iterator position
   *intOut = 20;
   *intOut = 30;
}
Elements written to output stream:
10
20
30

ostream_iterator::ostream_iterator

Çıkış akışına yazmak için başlatılan ve sınırlandırılmış bir oluşturur.

ostream_iterator(ostream_type& _Ostr);

ostream_iterator(
    ostream_type& _Ostr,
    const CharType* _Delimiter);

Parametreler

_Ostr
Yinelenecek türdeki çıkış akışı.

_Delimiter
Değerler arasında çıkış akışına eklenen sınırlayıcı.

Açıklamalar

İlk oluşturucu, çıkış akışı işaretçisini ile başlatır. Sınırlayıcı dize işaretçisi boş bir dizeyi gösterir.

İkinci oluşturucu ile çıkış akışı işaretçisini ve sınırlayıcı dize işaretçisini ile başlatır.

Örnek

// ostream_iterator_ostream_iterator.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // ostream_iterator for stream cout
   ostream_iterator<int> intOut ( cout , "\n" );
   *intOut = 10;
   intOut++;
   *intOut = 20;
   intOut++;

   int i;
   vector<int> vec;
   for ( i = 1 ; i < 7 ; ++i )
   {
      vec.push_back (  i );
   }

   // Write elements to standard output stream
   cout << "Elements output without delimiter: ";
   copy ( vec.begin ( ), vec.end ( ),
          ostream_iterator<int> ( cout ) );
   cout << endl;

   // Write elements with delimiter " : " to output stream
   cout << "Elements output with delimiter: ";
   copy ( vec.begin ( ), vec.end ( ),
          ostream_iterator<int> ( cout, " : " ) );
   cout << endl;
}
10
20
Elements output without delimiter: 123456
Elements output with delimiter: 1 : 2 : 3 : 4 : 5 : 6 :

ostream_iterator::ostream_type

Yineleyicinin akış türünü sağlayan bir tür.

typedef basic_ostream<CharType, Traits> ostream_type;

Açıklamalar

türü, yazmak için kullanılabilecek nesneleri tanımlayan iostream hiyerarşisinin akış sınıfı için bir eş anlamlıdır.

Örnek

nasıl bildirilip kullanılacağına ilişkin bir örnek için bkz. .

ostream_iterator::traits_type

Yineleyicinin karakter özellikleri türünü sağlayan bir tür.

typedef Traits traits_type;

Açıklamalar

türü, şablon parametresi için bir eş anlamlıdır.

Örnek

// ostream_iterator_traits_type.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // The following not OK, but are just the default values:
   typedef ostream_iterator<int>::char_type CHT1;
   typedef ostream_iterator<int>::traits_type CHTR1;

   // ostream_iterator for stream cout
   // with new line delimiter:
    ostream_iterator<int, CHT1, CHTR1> intOut ( cout , "\n" );

   // Standard iterator interface for writing
   // elements to the output stream:
   cout << "The integers written to output stream\n"
        << "by intOut are:" << endl;
*intOut = 1;
*intOut = 10;
*intOut = 100;
}
The integers written to output stream
by intOut are:
1
10
100

Ayrıca bkz.

<iterator>
C++ Standart Kitaplığında İş Parçacığı Güvenliği
C++ Standart Kitaplığı Başvurusu