深入了解STL的流操作
basic_streambuf
6 points(begin,next,end)



class std::ios_base

std::ios
 
using streamoff = long long; using streamsize = long long; using streampos = fpos<_Mbstatet>; using wstreampos = streampos; template<class _Elem, class _Int_type> struct _Char_traits
operator << 的细节
template<class _Elem,
	class _Traits,
	class _Alloc> inline
	basic_ostream<_Elem, _Traits>& operator<<(
		basic_ostream<_Elem, _Traits>& _Ostr,
		const basic_string<_Elem, _Traits, _Alloc>& _Str)
	{	// insert a string
	return (_Insert_string(_Ostr, _Str.data(), _Str.size()));
	}
	
template<class _Elem,
	class _Traits> inline
	basic_ostream<_Elem, _Traits>&
		__CLRCALL_OR_CDECL endl(basic_ostream<_Elem, _Traits>& _Ostr)
	{	// insert newline and flush stream
	_Ostr.put(_Ostr.widen('\n'));
	_Ostr.flush();
	return (_Ostr);
	}
	
	class std::basic_ostream<_Elem, _Traits>
	{
		basic_ostream& __CLR_OR_THIS_CALL operator<<(basic_ostream& (__cdecl *_Pfn)(basic_ostream&))
		{	// call basic_ostream manipulator
			return ((*_Pfn)(*this));
		}
	}
 

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号