std::locale::facet

来自cppreference.com
< cpp‎ | locale‎ | locale
 
 
本地化库
本地环境与平面
本地环境
平面类别基类
ctype(字符类别)平面
numeric(数值)平面
collate(对照比较)平面
time(时间)平面
monetary(货币)平面
messages(消息)平面
字符分类与转换
字符分类
转换
编码转换平面
(C++11)    
C 本地环境
 
 
在标头 <locale> 定义
class locale::facet;

std::locale::facet 是平面的基类。它提供共用基类,使得本地环境能存储指向其所实装的平面的指针于单个有下标容器中,而且它抽象对于平面引用计数的支持。

添加平面到本地环境时,本地环境会自增平面中的引用计数(通过实现特定的机制)。每次析构或修改本地环境时,它自减每个它不再实装的平面中的引用计数。平面的引用计数变为零时,本地环境会执行 delete static_cast<std::locale::facet*>(f),其中 f 是指向平面的指针。

平面类

以下的类都是平面

static ::std::locale::id id;

成员函数

构造带指定引用计数的新 facet
(受保护成员函数)
operator=
复制赋值运算符被删除
(受保护成员函数)
(析构函数)
[虚]
析构函数为受保护虚函数
(虚受保护成员函数)

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2694 C++98 LWG 问题 436 的解决方案移除了平面的定义 补上定义

参阅

平面索引类型:每个平面类必须声明或继承此类型的公开静态成员
(类)