Как создать манипулятор потока?

Нужен простой пример манипулятора, каторый, что-то выводит в поток, например:
cout << text;
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
JBMurloc
@JBMurloc
Аспирант, инженер, физик, программист.
Объявить манипулятор можно так:
ostream& tab(ostream & output)
{
    return output<< '\t';
}


Использовать так:
cout << 'a' << tab << 'b' << 'c' << endl;
т.е. просто передаём в поток функцию.

Работает это благодаря тому, что в шаблоне класса basic_ostream есть следующая перегрузка оператора <<:
basic_ostream<charT,traits>& operator<<(basic_ostream<charT,traits>& (*pf) (basic_ostream<charT,traits>&) );


Взято отсюда: qaru.site/questions/284188/how-do-the-stream-manip...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы