Język C++
basic_ostream::basic_ostream
[konstruktor] Tworzy obiekt tej klasy.Składnia
#include <ostream>
namespace std
{
template < class CharT, class Traits = std::char_traits < CharT > >
class basic_ostream
: virtual public std::basic_ios < CharT, Traits >
{
public:
explicit basic_ostream( std::basic_streambuf < CharT, Traits >* sb );
protected:
basic_ostream( const basic_ostream & rhs ) = delete;
basic_ostream( basic_ostream && rhs );
};
}
Argumenty
Opis szczegółowy
Konstruktor publiczny przypisuje wartości początkowe do klasy bazowej używając wyrażenia
std::basic_ios::init( sb )
. Konstruktor kopiujący jest chroniony i usunięty. Strumienie wyjściowe nie mogą być kopiowane. Konstruktor przeniesienia używa wyrażenia
std::basic_ios < CharT, Traits >::move( rhs )
do przeniesienia składowych klasy
std::basic_ios
(z wyjątkiem danych otrzymywanych przez wywołanie funkcji
rdbuf()
) z miejsca określonego przez argument
rhs do strumienia, czyli
* this
. Ten konstruktor przeniesienia jest chroniony i wywoływany przez konstruktory przeniesienia innych klas strumieni wyjściowych, na przykład
std::basic_ofstream
lub
std::basic_ostringstream
.
Przykład
#include <iostream>
#include <sstream>
#include <utility>
int main()
{
std::ostream second( std::cout.rdbuf() );
std::ostringstream fourth( std::move( std::ostringstream() << 25 ) );
second << fourth.str();
return 0;
}
Standardowe wyjście programu:
25
Zagadnienia powiązane
operator= | Zastępuje obiekt bufora. (operator - metoda) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.