Пространства имён
Варианты
Действия

std::basic_istream::basic_istream

Материал из cppreference.com
< cpp‎ | io‎ | basic istream

 
 
Библиотеки ввода / вывода
I / O манипуляторов
C-стиль I / O
Буферы
Оригинал:
Buffers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(устарело)
Потоки
Оригинал:
Streams
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Абстракций
Оригинал:
Abstractions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
Файл I / O
Оригинал:
File I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_ifstream
basic_ofstream
basic_fstream
Струнный I / O
Оригинал:
String I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istringstream
basic_ostringstream
basic_stringstream
Массив I / O
Оригинал:
Array I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
istrstream(устарело)
ostrstream(устарело)
strstream(устарело)
Типы
Оригинал:
Types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
streamoff
streamsize
fpos
Интерфейс Ошибка категории
Оригинал:
Error category interface
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
iostream_category(C++11)
io_errc(C++11)
 
std::basic_istream
Глобальные объекты
Оригинал:
Global objects
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
cin
wcin
Функции-члены
basic_istream::basic_istream
basic_istream::~basic_istream
basic_istream::operator=(C++11)
Форматированный ввод
Оригинал:
Formatted input
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istream::operator>>
Неформатированная вход
Оригинал:
Unformatted input
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istream::get
basic_istream::peek
basic_istream::unget
basic_istream::putback
basic_istream::getline
basic_istream::ignore
basic_istream::read
basic_istream::readsome
basic_istream::gcount
Позиционирование
Оригинал:
Positioning
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istream::tellg
basic_istream::seekg
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istream::sync
basic_istream::swap(C++11)
Член классов
Оригинал:
Member classes
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istream::sentry
Функции, не являющиеся членами
operator>>(std::basic_istream)
 
explicit basic_istream( std::basic_streambuf<CharT,Traits>* sb);
(1)
protected:
basic_istream( const basic_istream& rhs ) = delete;
(2)
protected:
basic_istream( basic_istream&& rhs );
(3) (начиная с C++11)
1)
Создает basic_istream объектов, присвоение начальных значений базового класса, вызвав basic_ios::init(sb). Значение gcount() инициализируется нулем.
Оригинал:
Constructs the basic_istream object, assigning initial values to the base class by calling basic_ios::init(sb). The value of gcount() is initialized to zero.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Конструктор копирования защищен, и удален. Входные потоки не копируемым.
Оригинал:
The copy constructor is protected, and is deleted. Input streams are not copyable.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
3)
Этот шаг конструктор копирует значение gcount() от rhs, устанавливает gcount () значение правой части нулю, и использует basic_ios<charT, traits>::move(rhs), чтобы переместить все basic_ios членов, за исключением rdbuf(), от rhs в *this. Этот шаг конструктор защищена: она называется по ходу конструкторов подвижных классов входного потока std::basic_ifstream и std::basic_istringstream, которые знают, как правильно двигаться связанных streambuffer.
Оригинал:
The move constructor copies the value of gcount() from rhs, sets the gcount() value of rhs to zero, and uses basic_ios<charT, traits>::move(rhs) to move all basic_ios members, except for the rdbuf(), from rhs into *this. This move constructor is protected: it is called by the move constructors of movable input stream classes std::basic_ifstream and std::basic_istringstream, which know how to correctly move the associated streambuffer.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Параметры

sb -
streambuffer для использования в качестве основного устройства
Оригинал:
streambuffer to use as underlying device
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

#include <sstream>
#include <iostream>
int main()
{
    std::istringstream s1("hello");
    std::istream s2(s1.rdbuf());                        // OK: s2 shares the buffer with s1
 
//    std::istream s3(std::istringstream("test"));      // ERROR: move constructor is protected
//    std::istream s4(s2);                              // ERROR: copy constructor is deleted
    std::istringstream s5(std::istringstream("world")); // OK: move ctor called by derived class
 
    std::cout << s2.rdbuf() << ' ' << s5.rdbuf() << '\n';
}

Вывод:

hello world