2015-10-01 4 views
2

В книгах на C++ я встречаю описания о том, как перегружать операторов вставки для размещения данных в std :: ostream. Но когда я изучал neoengine источников я встретил этот код:Перегрузка оператора вставки для собственного класса потока

File &File::operator << (const char *pszData) 
{ 
    if(m_bBinary) 
     do m_pkStream->write(pszData, 1); while(*pszData++); 
    else 
     *m_pkStream << pszData; 

    return(*this); 
} 

Как вы можете видеть, нет станда :: ostream использования. И я не уверен, что это правильно или нет по стандарту C++. Где я могу найти любые официальные или серьезные документы или некоторые книги на C++, где написано, что код, показанный выше, является правильным? Это значит, что нужно исправить перегрузку оператора вставки для собственных классов потоков? Заранее спасибо!

ответ

0

Вы можете перегрузить операторы для пользовательских классов, например File.

Всегда ли это хорошая идея, это вопрос мнения.

+0

Но где же официальный или литературный источник, где описано? – graveman

+0

Вы ищете [The Definitive C++ Book Guide and List] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)? –

Смежные вопросы