std::istreambuf_iterator<CharT,Traits>::istreambuf_iterator
来自cppreference.com
                    
                                        
                    < cpp | iterator | istreambuf iterator
                    
                                                            
                    | (1) | ||
|   istreambuf_iterator() throw();  | 
(C++11 前) | |
|   constexpr istreambuf_iterator() noexcept;  | 
(C++11 起) | |
|   constexpr istreambuf_iterator( std::default_sentinel_t ) noexcept;  | 
(2) | (C++20 起) | 
| (3) | ||
|   istreambuf_iterator( std::basic_istream<CharT,Traits>& is ) throw();  | 
(C++11 前) | |
|   istreambuf_iterator( std::basic_istream<CharT,Traits>& is ) noexcept;  | 
(C++11 起) | |
| (4) | ||
|   istreambuf_iterator( std::basic_streambuf<CharT,Traits>* s ) throw();  | 
(C++11 前) | |
|   istreambuf_iterator( std::basic_streambuf<CharT,Traits>* s ) noexcept;  | 
(C++11 起) | |
| (5) | ||
|   istreambuf_iterator( const /* proxy */& p ) throw();  | 
(C++11 前) | |
|   istreambuf_iterator( const /* proxy */& p ) noexcept;  | 
(C++11 起) | |
|   istreambuf_iterator( const istreambuf_iterator& ) noexcept = default;  | 
(6) | (C++11 起) | 
1-2) 构造流尾迭代器。
3) 初始化迭代器并存储 is.rdbuf() 的值于数据成员。若 is.rdbuf() 为空,则构造流尾迭代器。
4) 初始化迭代器并存储 
s 的值于数据成员。若 s 为空,则构造流尾迭代器。6) 等效于以 
p 所保有的 streambuf_type* 指针调用 (3) 。6) 复制构造函数为显式默认化。
参数
| is | - | 获得流缓冲来源的输出流 | 
| s | - | 用以初始化迭代器的流缓冲 | 
| p | - | 拥有实现定义代理类型的对象 |