【发布时间】:2015-06-02 23:17:35
【问题描述】:
一些标准的iomanip 函数接受一个参数。
我想知道这是如何实现的,例如,我可以用函数做类似的事情吗?这确实是我需要 this answer 的解决方案,但我不知道该怎么做。
当我查看 setw 函数的定义时,例如在 http://en.cppreference.com 中,它会将返回类型列为“未指定”,并且它也只列出一个参数,而不是采用 stream& 参数。这是如何工作的?
读者注意:
这个问题有an excellent answer但是对于查找这个问题的个人;此答案仅在与ios_base 提供的以下功能结合使用时才有用:
【问题讨论】:
-
他们实际上是在使用辅助函数/类和专门的
operator<<()/operator>>()重载。 -
与自定义格式选项不同,流有一个
width成员函数作为访问器和修改器。据我所知,自定义添加几乎必须使用xalloc等。人。 -
@chris 你所说的
xalloc疯狂是什么?我读了cplusplus.com'sdescription of thexalloc,但这并没有为我澄清任何事情。 -
@JonathanMee,我从未使用过它。只是在流 AFAIK 中存储任意信息的一种方式。
pword页面有一个示例,cppreference 也是如此。 -
@chris 由于您的 cmets,我只能在这里使用答案。所以非常感谢你!我已将它们纳入问题中,旨在帮助未来的读者走上一条比挖掘 cmets 更容易的道路。
标签: c++ insertion iomanip setw extraction-operator