Spec-Zone.ru › C++

std::basic_istream<CharT,Traits>::operator=

protected:
basic_istream& operator=( const basic_istream& rhs ) = delete;
(1)
protected:
basic_istream& operator=( basic_istream&& rhs );
(2) (начиная с C++11)
1) Оператор копирующего присваивания является защищённым и удалён. Потоки ввода не удовлетворяют требованиям CopyAssignable.
2) Оператор перемещающего присваивания обменивает значения gcount() и все члены данных базового класса, за исключением rdbuf(), с rhs, как если бы был вызван swap(*rhs). Этот оператор перемещающего присваивания является защищённым: он вызывается только операторами перемещающего присваивания производных перемещаемых классов потоков ввода std::basic_ifstream и std::basic_istringstream, которые знают, как правильно выполнить перемещающее присваивание связанных буферов потоков.

Параметры

rhs - объект basic_istream, из которого выполняется присваивание для *this

Пример

#include <iostream>
#include <sstream>

int main()
{
    std::istringstream s1;
    s1 = std::istringstream("test"); // OK

//  std::cin = std::istringstream("test"); // ERROR: 'operator=' is protected
}

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_istream/operator%3D

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API