Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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