std::basic_istream::swap
Материал из cppreference.com
< cpp | io | basic istream
![]() | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
protected: void swap(basic_istream& rhs); | (начиная с C++11) | |
Звонки basic_ios::swap(rhs) поменять все данные члены базового класса, за исключением rdbuf() и свопы значения счетчиков
gcount()
между *this и rhs
. Эта функция подкачки защищен: его называют своп функции замены классов входного потока std::basic_ifstream и std::basic_istringstream, которые знают, как правильно поменять связанных streambuffers.Оригинал:
Calls basic_ios::swap(rhs) to swap all data members of the base class except for rdbuf(), and swaps the values of the
gcount()
counters between *this and rhs
. This swap function is protected: it is called by the swap functions of the swappable input stream classes std::basic_ifstream and std::basic_istringstream, which know how to correctly swap the associated streambuffers.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править]Параметры
rhs | — | basic_istream различных объектов того же типа, чтобы заменить его Оригинал: different basic_istream object of the same type to swap with Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править]Пример
Запустить этот код
#include <sstream>#include <iostream>#include <utility>int main(){std::istringstream s1("hello");std::istringstream s2("bye"); s1.swap(s2);// ОК, у istringstream есть общедоступный swap()std::swap(s1, s2);// ОК, вызываем s1.swap(s2)// std::cin.swap(s2); // ОШИБКА: swap является защищенным участником std::cout<< s1.rdbuf();}
Вывод:
hello