Skip to Main Content
C++程序设计语言(第4部分:标准库)(原书第4版)
book

C++程序设计语言(第4部分:标准库)(原书第4版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced content levelIntermediate to advanced
450 pages
6h 57m
Chinese
Pearson
Content preview from C++程序设计语言(第4部分:标准库)(原书第4版)

39.4 标准facet

在<locale>中,标准库提供了以下facet:

细节将在参考章节中介绍。

当实例化上表列出的facet时,C必须是一个字符类型(见36.1节)。标准库已为char和w_char定义了这些facet。此外,ctype<C>还保证支持char16_t和char32_t。如果用户需要使用标准I/O处理其他字符类型X,就必须依赖具体C++实现特有的facet特例化版本或自己提供适合X的facet版本。例如,为了控制X和char之间的转换,可能需要codecvt<X,char,mbstate_t>(见39.4.6节)。

International可能为true或false;true表示使用三字符(再加上结尾符0)的“国际”货币符号表示(见39.4.3.1节),例如USD和BRL。

移位状态参数SS用来表示多字节字符表示中的移位状态(见39.4.6节)。在<cwchar>中定义了mbstate_t,表示可能发生在具体C++实现定义的多字节字符编码规则集合中的任何转换状态。对任意字符类型X,与mbstate_t对应的是char_traits<X>::state_type(见36.2.2节)。

In和Out分别是输入迭代器和输出迭代器(见33.1.2节和33.1.4节)。给定带这些模板参数的_put和_get,就允许程序员提供访问非标准库缓冲区的facet(见39.4.2.2节)。与iostream关联的缓冲区是流缓冲区,因此为其提供的迭代器是ostreambuf_iterator(见38.6.3节和39.4.2.2节)。从而,函数failed()可用于错误处理(见38.6.3节)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java并发编程实战

Java并发编程实战

Brian Goetz, Tim Peierls
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
可编程网络自动化

可编程网络自动化

Jason Edelman, Scott S. Lowe, Matt Oswalt

Publisher Resources

ISBN: 9787111544395