Introduction / Context:
C++ iostreams provide a flexible way to format output. Certain helper functions, when used with the insertion operator <<, modify stream state or formatting flags—changing width, fill, precision, or emitting line breaks and flushes. These helpers have a specific name in the standard library vocabulary.
Given Data / Assumptions:
- Output stream: std::cout (type std::ostream).
- Helpers like std::setw, std::setfill, std::setprecision, std::endl.
- They work via operator overloading on streams.
Concept / Approach:
- A manipulator is a function or object used with << (or >>) to adjust the stream's state or format.
- They are usually declared in or (e.g., std::setw, std::endl).
- They are not necessarily members of std::ostream; many are free functions.
Step-by-Step Solution:
Recognize that std::endl inserts a newline and flushes → a manipulator.std::setw(10) sets field width → a manipulator.Hence the correct term for such functions is “manipulator”.
Verification / Alternative check:
Check headers: defines several manipulators; their usage pattern matches stream manipulators.
Why Other Options Are Wrong:
- member: Many manipulators are not members of std::ostream.
- adjuster: Not standard terminology, even if suggestive.
- operator: The << operator is used, but the function itself is called a manipulator.
- None of the above: Incorrect because “manipulator” is the proper term.
Common Pitfalls:
- Confusing manipulators with format flags directly set by std::ios_base::fmtflags.
- Assuming std::endl is identical to "\n"; it also flushes.
Final Answer:
manipulator
Discussion & Comments