Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Klassenvorlage ostream_iterator beschreibt ein Ausgabe iterator-Objekt, das aufeinander folgende Elemente in den Ausgabedatenstrom mit der Extraktion schreibt.
Syntax
template <class Type, class CharType = char, class Traits = char_traits <CharType>>
class ostream_iterator
Parameter
Type
Der Typ des in den Ausgabestream einzufügenden Objekts.
CharType
Der Typ, der den Zeichentyp für darstellt. Dieses Argument ist optional, und der Standardwert ist .
Traits
Der Typ, der den Zeichentyp für darstellt. Dieses Argument ist optional und der Standardwert ist .*
Die ostream_iterator-Klasse muss den Anforderungen für einen Ausgabeiterator entsprechen. Algorithmen können mit direkt in Ausgabestreams geschrieben werden.
Konstruktoren
| Konstruktor | Beschreibung |
|---|---|
ostream_iterator |
Erstellt einen , der initialisiert und zum Schreiben in den Ausgabestream begrenzt wird. |
TypeDefs
| Typname | Beschreibung |
|---|---|
char_type |
Ein Typ, der für den Zeichentyp von bereitgestellt wird. |
ostream_type |
Ein Typ, der für den Streamtyp von bereitgestellt wird. |
traits_type |
Ein Typ, der für den Merkmaltyp von bereitgestellt wird. |
Operatoren
| Operator | Beschreibung |
|---|---|
operator* |
Dereferencing-Operator, der zum Implementieren des Ausgabe iteratorausdrucks verwendet wird. |
operator++ |
Ein nicht funktionaler Inkrementoperator, der einen zum gleichen Objekt zurückgibt, das er adressiert hat, bevor der Vorgang aufgerufen wurde. |
operator= |
Zuordnungsoperator zum Implementieren des Ausgabe iteratorausdrucks zum Schreiben in einen Ausgabedatenstrom. |
Anforderungen
Kopfball:
Namespace:
ostream_iterator::char_type
Ein Typ, der für den Zeichentyp des Iterators bereitgestellt wird.
typedef CharType char_type;
Hinweise
Der Type stellt ein Synonym für den Vorlagenparameter dar.
Beispiel
// 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*
Dereferencing-Operator, der zum Implementieren des Ausgabe iteratorausdrucks verwendet wird.
ostream_iterator<Type, CharType, Traits>& operator*();
Rückgabewert
Ein Verweis auf .
Hinweise
Die Anforderungen für einen Ausgabe-Iterator, der erfüllt werden muss, erfordern nur den Ausdruck gültig und gibt nichts über das oder das allein. Der Memberoperator in dieser Implementierung gibt zurück .
Beispiel
// 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++
Ein nicht funktionaler Inkrementoperator, der einen zum gleichen Objekt zurückgibt, das er adressiert hat, bevor der Vorgang aufgerufen wurde.
ostream_iterator<Type, CharType, Traits>& operator++();
ostream_iterator<Type, CharType, Traits> operator++(int);
Rückgabewert
Ein Verweis auf .
Hinweise
Diese Memberoperatoren geben beide zurück .
Beispiel
// 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=
Der Zuordnungsoperator, der zum Implementieren des output_iterator Ausdrucks zum Schreiben in einen Ausgabedatenstrom verwendet wird.
ostream_iterator<Type, CharType, Traits>& operator=(const Type& val);
Parameter
val
Der Wert des Objekts des -Typs, der in den Ausgabestream einzufügen ist.
Rückgabewert
Der Operator fügt in den Ausgabedatenstrom ein, der dem Objekt zugeordnet ist, gefolgt von dem in der (falls vorhanden) angegebenen Trennzeichen und gibt dann einen Verweis auf das Objekt zurück.
Hinweise
Die Anforderungen für einen Ausgabe-Iterator, den der Ausdruck erfüllen muss, müssen nur gültig sein und nichts über den Operator oder den Operator= allein sagen. Dieser Memberoperator gibt zurück.
Beispiel
// 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
Erstellt einen , der initialisiert und zum Schreiben in den Ausgabestream begrenzt wird.
ostream_iterator(ostream_type& _Ostr);
ostream_iterator(
ostream_type& _Ostr,
const CharType* _Delimiter);
Parameter
_Ostr
Der Ausgabedatenstrom des Typs , der durchlaufen werden soll.
_Delimiter
Das Trennzeichen, das in den Ausgabestream zwischen Werten eingefügt wird.
Hinweise
Der erste Konstruktor initialisiert den Ausgabestreamzeiger mit . Der Zeiger für Zeichenfolgentrennzeichen kennzeichnet eine leere Zeichenfolge.
Der zweite Konstruktor initialisiert den Ausgabedatenstromzeiger mit und dem Trennzeichen-Zeichenfolgenzeiger mit .
Beispiel
// 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
Ein Typ, der für den Streamtyp des Iteraotrs bereitgestellt wird.
typedef basic_ostream<CharType, Traits> ostream_type;
Hinweise
Der Typ ist ein Synonym für , eine Streamklasse der Iostream-Hierarchie, die Objekte definiert, die zum Schreiben verwendet werden können.
Beispiel
Ein Beispiel zum Deklarieren und Verwenden finden Sie unter .
ostream_iterator::traits_type
Ein Typ, der für den Zeichenmerkmaltyp des Iterators bereitgestellt wird.
typedef Traits traits_type;
Hinweise
Der Type stellt ein Synonym für den Vorlagenparameter dar.
Beispiel
// 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
Siehe auch
<iterator>
Threadsicherheit in der C++-Standardbibliothek
C++-Standardbibliotheksreferenz