std::basic_filebuf::operator=
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> std::basic_filebuf& operator=( std::basic_filebuf&& rhs ); |
(начиная с C++11) | |
std::basic_filebuf& operator=( const std::basic_filebuf& rhs ) = delete; |
||
1)
Первый называет
close(), чтобы закрыть соответствующий файл, а затем перемещает содержимое rhs в *this: положить и получить буфера, связанного файла, язык, OpenMode, флаг is_open, и любое другое государство. После переезда, rhs не связано с файлом и rhs.is_open() == false.Оригинал:
First calls
close() to close the associated file, then moves the contents of rhs into *this: the put and get buffers, the associated file, the locale, the openmode, the is_open flag, and any other state. After the move, rhs is not associated with a file and rhs.is_open() == false.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Оператор копирующего присваивания удаляется;
basic_filebuf не CopyAssignable.Оригинал:
The copy assignment operator is deleted;
basic_filebuf is not CopyAssignable.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| rhs | — | другой
basic_filebuf, которые будут перемещены сОригинал: another basic_filebuf that will be moved fromТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Возвращаемое значение
*this
Пример
Запустить этот код
#include <fstream>
#include <string>
#include <iostream>
int main()
{
std::ifstream fin("test.in"); // read-only
std::ofstream fout("test.out"); // write-only
std::string s;
getline(fin, s);
std::cout << s << '\n'; // output
*fin.rdbuf() = std::move(*fout.rdbuf());
getline(fin, s);
std::cout << s << '\n'; // empty line
std::cout << std::boolalpha << fout.is_open() << '\n'; // prints "false"
}
См. также
строит basic_filebuf объекта Оригинал: constructs a basic_filebuf object Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
(C++11) |
свопы двух объектов basic_filebuf Оригинал: swaps two basic_filebuf objects Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) |