Заблокирован
|
|
1 | |
Что такое потоковые манипуляторы28.04.2012, 18:48. Показов 2477. Ответов 7
Метки нет Все метки)
(
Как то удивительно странно все авторы обходят стороной вопрос, что такое потоковые манипуляторы, как то endl, setw, dec и так далее.
Чем же они являются. Может быть это особые значения, вряд ли. Может быть это особые фуункци. Так все таки, к какой сущности C++ следует относить эти манипуляторы. Одним словом, как применять их более-менее понятно, а что же это такое - совершенно непонятно.
0
|
28.04.2012, 18:48 | |
Ответы с готовыми решениями:
7
Что такое потоковые операции ввода/вывода? Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
|
![]() |
|
28.04.2012, 20:49 | 2 |
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
28.04.2012, 22:49 | 4 |
по ссылке то, что доктор прописал.
по сути - это настройщики потоков. запись stream << manipulator; приводит к вызову функции manipulator, которой передается этот самый поток. А она, эта функция, настраивает этот поток каким-то образом или выводит в поток что-то (рефрешит поток, настраивает формат вывода определенных типов, заставляет ингорировать какие-то символы и т.п.).
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
28.04.2012, 22:58 | 6 | |||||
запись
endl(cout); эквивалентна cout << endl; cout << endl(cout); - это несколько другое. это вызов endl(cout) и запись в поток результата этого вызова. рассматривайте запись cout << endl как синтаксический сахар. ведь много чего в поток суется именно таким образом. поэтому более привычно выглядит именно так. и еще возможно это более корректно. раз endl что-то возвращает, может оказатся так, что в функции
0
|
Заблокирован
|
|
28.04.2012, 23:05 [ТС] | 7 |
Ну вообщем выяснили пока, что манипуляторы - это функции.
Осталось только понять, где то свойство C++, которое позволяет этим функциям применяться вот в такой форме, то есть без аргументов, как с endl, или не со всеми аргументами (для параметрических манипуляторов).
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
28.04.2012, 23:17 | 8 | |||||
ну в дебаге же можно посмотреть. все работает за счет правильной перегрузки оператора << для потока:
1
|
28.04.2012, 23:17 | |
Помогаю со студенческими работами здесь
8
Что такое хэндлер файла? Что такое файловый указатель? Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них "потоковые переменные"... или что-то в этом роде... Что такое IIS и что такое PWS? Почему одно без другого не работает? Что такое напряжение и что такое сила тока с позиции заряженных частиц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
|
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
|
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
|
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
|
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
|
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
|
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
|
Разработка кроссплатформенного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
|
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
|
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
|