类模板
<locale>

std::moneypunct_byname

template <class charT, bool International = false> class numpunct_byname;
货币标点分面

名为 moneypunct_byname 的标准分面重写了 moneypunct 的虚成员函数,以实现其针对特定命名区域的语义。

它的公共接口与 moneypunct 相同,只是其构造函数接受一个额外的 std_name 参数。

1
explicit moneypunct_byname (const char* std_name, size_t refs = 0);
1
2
explicit moneypunct_byname (const char* std_name, size_t refs = 0);
explicit moneypunct_byname (const string& std_name, size_t refs = 0);

其中 std_name 是一个C locale 的名称。可用的C locales 取决于系统和库实现,但至少以下几种保证在所有实现中都存在:
区域设置名称描述
"C"最小的“C”区域设置(与 locale::classic 相同)
""环境的默认区域设置

特例

在所有库实现中,此模板至少提供了以下特例:
特化
moneypunct_byname<char,false>
moneypunct_byname<wchar_t,false>
moneypunct_byname<char,true>
moneypunct_byname<wchar_t,true>