std::basic_iostream<CharT,Traits>:: basic_iostream
From cppreference.net
<
cpp
|
io
|
basic iostream
|
explicit
basic_iostream
(
std::
basic_streambuf
<
CharT,Traits
>
*
sb
)
;
|
(1) | |
|
basic_iostream
(
const
basic_iostream
&
other
)
=
delete
;
|
(2) | (C++11 이후) |
|
protected
:
basic_iostream ( basic_iostream && other ) ; |
(3) | (C++11 이후) |
새로운 스트림 객체를 생성합니다.
1)
streambuf
sb
로 초기화됩니다. 기본 클래스들은
basic_istream
<
CharT,Traits
>
(
sb
)
와
basic_ostream
<
CharT,Traits
>
(
sb
)
로 초기화됩니다. 호출 후
rdbuf
(
)
==
sb
이고
gcount
(
)
==
0
입니다.
2)
복사 생성은 허용되지 않습니다.
3)
이동 생성자: 첫 번째 기본 클래스
basic_istream
을
basic_istream
<
CharT,Traits
>
(
std
::
move
(
rhs
)
)
;
로 이동 생성하며, 이는 다시 가상 기본 클래스
std::basic_ios
를 이동 생성하고 초기화합니다. 다른 기본 클래스인
basic_ostream
의 초기화는 구현에 따라 정의됩니다(예: 아무 작업도 수행하지 않는 protected 기본 생성자가
std::basic_ostream
에 추가될 수 있음). 왜냐하면 이동 생성은
rhs
를 두 번 사용할 수 없기 때문입니다. 이 이동 생성자는 protected로 선언됩니다: 파생 스트림 클래스인
std::basic_fstream
과
std::basic_stringstream
의 이동 생성자들이 스트림 버퍼를 이동 생성하고 연결하기 전에 호출됩니다.
매개변수
| sb | - | 초기화할 streambuf |
| other | - | 초기화할 다른 스트림 |
참고 항목
|
(C++11)
|
다른
basic_iostream
을 이동 대입
(protected 멤버 함수) |