C++ Locale 库 - always_noconv
描述
它返回内部和外部类型之间的转换是否总是在没有任何实际转换的情况下产生副本。
声明
以下是 std::ctype::always_noconv 的声明。
C++98
int always_noconv() const throw();
C++11
int always_noconv() const noexcept;
参数
none
返回值
如果 codecvt::in 和 codecvt::out 将始终导致 noconv,则返回 true。
异常
No-throw guarantee − 从不抛出异常。
数据竞争
facet 对象被访问。
示例
在下面的例子中解释了 std::ctype::always_noconv。
#include <iostream>
#include <locale>
int main () {
std::locale loc;
std::cout << std::boolalpha;
std::cout << "always_noconv for codecvt<char,char,mbstate_t>: ";
std::cout << std::use_facet<std::codecvt<char,char,mbstate_t> >(loc).always_noconv();
std::cout << '\n';
std::cout << "always_noconv for codecvt<wchar_t,char,mbstate_t>: ";
std::cout << std::use_facet<std::codecvt<wchar_t,char,mbstate_t> >(loc).always_noconv();
std::cout << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 −
always_noconv for codecvt<char,char,mbstate_t>: true always_noconv for codecvt<wchar_t,char,mbstate_t>: false

