std::numpunct<CharT>::truename, do_truename, falsename, do_falsename
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <locale>
  | 
||
|   public: string_type truename() const;  | 
(1) | |
|   public: string_type falsename() const;  | 
(2) | |
|   protected: virtual string_type do_truename() const;  | 
(3) | |
|   protected: virtual string_type do_falsename() const;  | 
(4) | |
1-2) 公开成员函数,分别调用最终导出类的成员函数 
do_truename 和 do_falsename 。3) 返回拥有表示布尔值 true 的字符串。
4) 返回拥有表示布尔值 false 的字符串。
返回值
1,3) 用作 true 表示的 
string_type 类型对象。 std::numpunct 的标准特化返回 "true" 和 L"true" 。2,4) 用作 false 表示的 
string_type 类型对象。 std::numpunct 的标准特化返回 "false" 和 L"false" 。示例
运行此代码
#include <iostream> #include <locale> #include <iomanip> struct custom_tf : std::numpunct<char> { std::string do_truename() const { return "t"; } std::string do_falsename() const { return "f"; } }; int main() { std::cout << std::boolalpha; std::cout << "default locale: " << true << true << false << false << '\n'; std::cout.imbue(std::locale(std::cout.getloc(), new custom_tf)); std::cout << "locale with modified numpunct: " << true << true << false << false << '\n'; }
输出:
default locale: truetruefalsefalse locale with modified numpunct: ttff