C++ 定义自己的unicode语言环境

C++ 定义自己的unicode语言环境,c++,unicode,locale,C++,Unicode,Locale,我找到了计算课文字数的好方法。我的问题是我能正确理解解决方案提供的STL的这些“魔力”。如果我理解的是right letter_only-是一个创建locale对象的结构,它只查找字母,不包括点字。当main()调用imbue()letter_only的构造函数调用get_table()时。。。为我实现这个功能-深暗魔法 我花了很多时间阅读cppreference,但不能完全理解这3个字符串 我的目标是使此解决方案适应unicode字符 有人能解释一下它是怎么工作的吗?谢谢。语言环境不是一个简单

我找到了计算课文字数的好方法。我的问题是我能正确理解解决方案提供的STL的这些“魔力”。如果我理解的是right letter_only-是一个创建locale对象的结构,它只查找字母,不包括点字。当main()调用imbue()letter_only的构造函数调用get_table()时。。。为我实现这个功能-深暗魔法

我花了很多时间阅读cppreference,但不能完全理解这3个字符串

我的目标是使此解决方案适应unicode字符


有人能解释一下它是怎么工作的吗?谢谢。

语言环境不是一个简单的对象;它是从多个方面构建的。其中一个方面是
ctype
。(字符类型)。链接的解决方案创建了一个具有自定义
ctype
的区域设置,称为
letter\u

letter_only
的实现通过构建字符表来工作,因此您可以通过查找确定
char c
是否为字母


这对您来说可能是不同的,因为
wchar\u t
的表要大得多。这就是为什么从
ctype
继承时,通常会覆盖
virtualbooldois(mask m,wchar\utc)const

多谢各位。std::fill-只是用“英语”字符填充向量(rc)来创建“表”对吗?不,查找表不是这样工作的。“英语”字符不是内容,而是表索引。表格内容是他们的类型(
alpha
=字母)。有一个线索)谢谢