реализация метода get get istringstream - PullRequest
0 голосов
/ 01 марта 2009

В реализации «метода» написано istringstream get

int get();
Extracts a character from the stream and returns its value (casted to an integer).

Я хотел увидеть его реализацию.

Редактировать: Удалена часть, которую я пытаюсь перенести

1 Ответ

2 голосов
/ 01 марта 2009

Вы найдете std::istringstream в шапке <sstream>. Но не метод get(). Элемент get() унаследован от шаблона basic_istream<_Elem, _Traits>, который вы можете найти в заголовке. Вот реализация из моей установки VS2005:

int_type __CLR_OR_THIS_CALL get()
    {   // extract a metacharacter
    int_type _Meta = 0;
    ios_base::iostate _State = ios_base::goodbit;
    _Chcount = 0;
    const sentry _Ok(*this, true);

    if (!_Ok)
        _Meta = _Traits::eof(); // state not okay, return EOF
    else
        {   // state okay, extract a character
        _TRY_IO_BEGIN
        _Meta = _Myios::rdbuf()->sbumpc();

        if (_Traits::eq_int_type(_Traits::eof(), _Meta))
            _State |= ios_base::eofbit | ios_base::failbit; // end of file
        else
            ++_Chcount; // got a character, count it
        _CATCH_IO_END
        }

    _Myios::setstate(_State);
    return (_Meta);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...