Libreria IOS C ++ - tie
Descrizione
Viene utilizzato per ottenere / impostare il flusso collegato.
C ++ 98
Per impostazione predefinita, cin è legato a cout e wcin a wcout. Le implementazioni della libreria possono legare altri flussi standard durante l'inizializzazione.
C ++ 11
Per impostazione predefinita, i flussi ristretti standard cin e cerr sono legati a cout e le loro controparti a carattere ampio (wcin e wcerr) a wcout. Le implementazioni della libreria possono anche legare clog e wclog.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione ios :: tie.
get (1) ostream* tie() const;
set (2) ostream* tie (ostream* tiestr);
La prima forma (1) restituisce un puntatore al flusso di output legato.
La seconda forma (2) lega l'oggetto a tiestr e restituisce un puntatore al flusso legato prima della chiamata, se presente.
Parametri
tiestr - Un oggetto flusso di output.
Valore di ritorno
Un puntatore all'oggetto flusso legato prima della chiamata o un puntatore null nel caso in cui il flusso non fosse legato.
Eccezioni
Basic guarantee - se viene generata un'eccezione, il flusso è in uno stato valido.
Gare di dati
Accede a (1) o modifica (2) l'oggetto stream.
L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.
Esempio
Nell'esempio seguente viene spiegato la funzione ios :: tie.
#include <iostream>
#include <fstream>
int main () {
std::ostream *prevstr;
std::ofstream ofs;
ofs.open ("test.txt");
std::cout << "tie example:\n";
*std::cin.tie() << "This is inserted into cout";
prevstr = std::cin.tie (&ofs);
*std::cin.tie() << "This is inserted into the file";
std::cin.tie (prevstr);
ofs.close();
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
tie example:
This is inserted into cout