Biblioteca C ++ IOS - empate

Descrição

É usado para obter / definir o fluxo vinculado.

C ++ 98

Por padrão, cin está vinculado a cout e wcin a wcout. Implementações de biblioteca podem amarrar outros fluxos padrão na inicialização.

C ++ 11

Por padrão, os fluxos estreitos padrão cin e cerr são vinculados a cout, e suas contrapartes de caracteres largos (wcin e wcerr) a wcout. Implementações de biblioteca também podem amarrar clog e wclog.

Declaração

A seguir está a declaração para a função ios :: tie.

get (1)	ostream* tie() const;
set (2)	ostream* tie (ostream* tiestr);

A primeira forma (1) retorna um ponteiro para o fluxo de saída vinculado.

A segunda forma (2) vincula o objeto a tiestr e retorna um ponteiro para o fluxo vinculado antes da chamada, se houver.

Parâmetros

tiestr - Um objeto de fluxo de saída.

Valor de retorno

Um ponteiro para o objeto stream vinculado antes da chamada ou um ponteiro nulo no caso de o stream não estar vinculado.

Exceções

Basic guarantee - se uma exceção for lançada, o fluxo está em um estado válido.

Corridas de dados

Acessa (1) ou modifica (2) o objeto de fluxo.

O acesso simultâneo ao mesmo objeto de fluxo pode causar disputas de dados.

Exemplo

No exemplo a seguir, explica sobre a função 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

tie example:
This is inserted into cout