gpt4 book ai didi

c++ - std::stringstream 如何处理 operator<< 中的 wchar_t*?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:42 28 4
gpt4 key购买 nike

鉴于以下代码段无法编译:

std::stringstream ss;
ss << std::wstring(L"abc");

我也不认为这个会:

std::stringstream ss;
ss << L"abc";

但确实如此(至少在 VC++ 上)。我猜这是由于以下 ostream::operator<<过载:

ostream& operator<< (const void* val );

如果我不小心混合了字符类型,这是否有可能悄悄地破坏我的代码?

最佳答案

是的 - 您需要 wstringstream 用于 wchar_t 输出。

您可以通过不使用字符串文字来缓解这种情况。如您所述,如果您尝试将 const wstring& 传递给 stringstream,它将无法编译。

关于c++ - std::stringstream 如何处理 operator<< 中的 wchar_t*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842486/

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