std::locale::id
来自cppreference.com
定义于头文件 <locale>
|
||
class locale::id; |
||
类 std::locale::id 提供本地环境片面的实现限定标识。每个导出自 std::locale::facet 的类都必须拥有名为 id
的 std::locale::id 类型公开静态成员,而每个 std::locale 对象维护其所实装的 facet 列表,以其 id
索引。
拥有相同 id
的 facet 属于同一平面类别,并且在添加到 locale 对象时彼此替换。
成员函数
构造新的 id (公开成员函数) | |
operator= |
复制赋值运算符被删除 (公开成员函数) |
示例
下列代码展示如何构造最小的定制 facet 。
运行此代码
#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) returns " << std::boolalpha << std::has_facet<myfacet>(myloc) << '\n'; }
输出:
has_facet<myfacet>(myloc) returns true
参阅
所有平面分类的分类:任何分类的每个 facet 都从此类型导出 (类) |