类模板
<locale>

std::num_get

template <class charT, class InputIterator = istreambuf_iterator<charT> > class num_get;
用于解析数值的 Facet

num_get 标准 facet 解析字符序列以获得数值。它的成员 get 被标准的输入流(如 istream)调用,以使用提取运算符(operator>>)获取格式化的数值。

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

所有标准的 locale 对象至少支持 num_get 类模板的以下 facet 实例化(作为 numeric 类别的一部分)
locale 对象中的 Facets说明
num_get<char>窄字符(由 istream 使用)
num_get<wchar_t>宽字符(由 wistream 使用)

模板参数

charT
字符类型:要解释的序列中字符的类型。
别名为成员 char_type
InputIterator
Input iterator type,指向要解释的字符序列中的元素。
默认为 istreambuf_iterator,它是一个可以从 basic_istream 对象隐式转换的迭代器。
别名为成员 iter_type

成员类型

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

成员常量

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

公开成员函数


虚保护成员函数


特化

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

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