类模板
<locale>

std::num_put

template <class charT, class OutputIterator = ostreambuf_iterator<charT> > class num_put;
用于格式化数值的Facet

num_put 标准Facet 将数值格式化为字符序列。它的成员 put 被标准的输出流(例如 ostream)调用,以格式化通过插入运算符(operator<<)插入的数值。

num_put 类模板有一个受保护的析构函数:程序应仅构造派生类的对象,或使用安装在 locale 对象中的对象(通过 use_facet)。

所有标准的 locale 对象都支持至少 num_put 类模板的以下Facet 实例化(作为 numeric 类别的一部分)
Facet 在 locale 对象中说明
num_put<char>窄字符(ostream 使用)
num_put<wchar_t>宽字符(wostream 使用)

模板参数

charT
字符类型:要写入的字符序列的字符类型。
别名为成员 char_type
OutputIterator
输出迭代器类型,指向要写入的字符序列中的元素。
默认为 ostreambuf_iterator,它是一种可以从 basic_ostream 对象隐式转换的迭代器。
别名为成员 iter_type

成员类型

成员类型定义描述
char_type第一个模板参数(charT字符类型
iter_type第二个模板参数(OutputIterator迭代器类型。
默认为 ostreambuf_iterator<charT>

成员常量

该类包含一个公共静态常量,类型为 locale::id,它唯一标识具有 num_put 语义的 Facet。

公开成员函数


虚保护成员函数


特化

所有库实现至少提供以下模板的特化和偏特化
特化
num_put<char>
num_put<wchar_t>
template <class OutputIterator> num_put<char,OutputIterator>
template <class OutputIterator> num_put<wchar_t,OutputIterator>

其中 OutputIterator 应为满足 *输出迭代器* 要求,并且能够遍历指定字符类型的元素。