std::locale::id
来自cppreference.com
在标头 <locale> 定义
|
||
class locale::id; |
||
类 std::locale::id
提供本地环境刻面的实现特定的标识。每个刻面都拥有名为 id
的 std::locale::id
类型的公开静态成员,而每个 std::locale 对象都维护它所实装的刻面列表,通过 id
索引。
拥有相同 id
的刻面属于同一刻面类别,并且在添加到本地环境对象时会互相替换。
成员函数
构造新的 id (公开成员函数) | |
operator= |
复制赋值运算符被弃置 (公开成员函数) |
示例
下列代码展示如何构造最小的自定义刻面。
运行此代码
#include <iostream> #include <locale> struct myfacet : std::locale::facet { myfacet(std::size_t refs = 0) : facet(refs) {} static ::std::locale::id id; }; std::locale::id myfacet::id; int main() { std::locale myloc(std::locale(), new myfacet); std::cout << "has_facet<myfacet>(myloc) 返回 " << std::boolalpha << std::has_facet<myfacet>(myloc) << '\n'; }
输出:
has_facet<myfacet>(myloc) 返回 true
参阅
所有刻面类别的基类:任何类别的每个刻面都会从此类型派生 (类) |