gpt4 book ai didi

c++ - L"下面的:"and "下面的:"有什么区别

转载 作者:行者123 更新时间:2023-11-28 00:06:43 24 4
gpt4 key购买 nike

两者有什么区别吗?两者都使用 vs2013 编译。

CStringW str1 = "以下内容:";CString str2 = L"以下:";

字符串来自afxstr:https://msdn.microsoft.com/en-us/library/ms174288.aspx

我知道没有 L 的变体是通过适当的转换运算符转换的,但是使用没有 L 的形式会出现什么问题,而我在引号之间不使用任何 unicode 字符。即使您不打算使用非 unicode 字符或还有更多字符,使用 L""是否是一种良好的编程习惯?

编辑:也许我意识到了答案。主要问题是没有 L,我会因为调用不必要的运算符方法而受到性能影响吗?但是两者都给出相同的正确结果吗?

最佳答案

您使用 L 创建一个宽字符串文字宏。没有 L它只是一个狭窄的字符串。还要检查您的项目设置。您是否将其构建为 Unicode 项目?而不是使用 L我建议使用 _T()扩展为 L 的宏仅当您的项目被构建为 Unicode 时

看看这个pagethis也是

换句话说,如果您希望您的字符串始终为 Unicode,则使用 L

更新:我会推荐

CString str1 = _T("the following");

如果您希望将字符串扩展为宽字符串,则将您的项目构建为 Unicode

关于c++ - L"下面的:"and "下面的:"有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35283967/

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