C++ Locale 库 - max_length
描述
它返回外部字符所需的最大内部字符数,在内部,此函数仅调用虚拟受保护成员 do_max_length 以产生其结果。
声明
以下是 std::ctype::max_length 的声明。
C++98
int max_length() const throw();
C++11
int max_length() const noexcept;
参数
none
返回值
如果转换为内部字符,则返回一个外部字符的最大长度。
异常
No-throw guarantee − 永远不会抛出异常,即使抛出异常,facet 对象也不会发生任何变化。
数据竞争
facet 对象被访问。
示例
在下面的例子中解释了 std::ctype::max_length。
#include <iostream>
#include <locale>
int main () {
std::locale loc;
std::cout << "max_length for codecvt<char,char,mbstate_t>: ";
std::cout << std::use_facet<std::codecvt<char,char,mbstate_t> >(loc).max_length();
std::cout << '\n';
std::cout << "max_length for codecvt<wchar_t,char,mbstate_t>: ";
std::cout << std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc).max_length();
std::cout << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 −
max_length for codecvt<char,char,mbstate_t>: 1 max_length for codecvt<wchar_t,char,mbstate_t>: 1

