gpt4 book ai didi

c++ - boost 库的哪一部分使 cout 能够打印 wstring 以及如何打印?

转载 作者:搜寻专家 更新时间:2023-10-31 02:10:33 25 4
gpt4 key购买 nike

我最近刚开始使用boost库,发现在包含某个boost头文件(可能是filesystem.h)后,cout函数可以在同一个程序中完美打印出string和wstring。更重要的是,打印wstring时,内容是用引号括起来的。

我对当前的行为非常满意,并希望充分了解其背后的机制,以避免任何可能的误操作。

最佳答案

boost::filesystem::path有一个来自 string_type 的隐式转换构造函数,定义为 std::basic_string<value_type> .和 value_type取决于环境而变化地定义。值得注意的是,wchar_t在 Windows 上。这意味着在 Windows 上,string_typestd::basic_string<wchar_t> ,又名 std::wstring .

所以你的 wstring正在隐式转换为 boost::filesystem::path , 通过 operator<< 重载打印.

关于c++ - boost 库的哪一部分使 cout 能够打印 wstring 以及如何打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45047290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com