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