How does istream::operator>>( const char& ) as no such function is implemented?

前端 未结 2 665
灰色年华
灰色年华 2021-01-20 11:16

Looking at istream documentation, you will see that there is no implementation of function istream &operator>>( char& ), but if you compile and ru

相关标签:
2条回答
  • 2021-01-20 11:42

    As stated here, operator>> is also implemented as non-member-function of cin.

    Non-member function :

    istream& operator>>( istream& st, char& ch );
    

    There is always the standard stated it explicitly in the section § 27.7.2.2.3 :

    27.7.2.2.3 basic_istream::operator>> [istream::extractors]

    11/ Returns: in.

        template<class charT, class traits> basic_istream<charT,traits>& operator>>
            (basic_istream<charT,traits>& in, charT& c);
    
        template<class traits> basic_istream<char,traits>& operator>>
            (basic_istream<char,traits>& in, unsigned char& c);
    
        template<class traits> basic_istream<char,traits>& operator>>
            (basic_istream<char,traits>& in, signed char& c);
    
    0 讨论(0)
  • 2021-01-20 11:48

    operator>> also is implemented as non-member functions.

    istream& operator>> (istream& is, char& c)

    0 讨论(0)
提交回复
热议问题