# std::numpunct<CharT>::truename, do_truename, falsename, do_falsename

< cpp‎ | locale‎ | numpunct

定义于头文件 `<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