【问题标题】:In C++ language identifiers can contain unicode characters? [duplicate]在 C++ 语言中,标识符可以包含 unicode 字符吗? [复制]
【发布时间】:2020-12-28 21:17:22
【问题描述】:

到目前为止,我知道在 C++ 中标识符只能包含英文 ABC、数字和下划线的字母,但我正在阅读标准和 cppreference.com,他们写道,unicode 字符和特殊字符也可以使用。这是真的吗?还是仅适用于某些编译器?

https://timsong-cpp.github.io/cppwp/lex.name

https://en.cppreference.com/w/cpp/language/identifiers

【问题讨论】:

  • 你试过了吗?
  • 您可以在大多数编译器的字符文字中使用 unicode(如果源文件保存为 unicode 文本),但通常不能作为符号名称。

标签: c++ unicode


【解决方案1】:

根据translation phase 1,编译器可以将源文件中的每个“字符”映射到基本源字符集中的字符,或转义的Unicode字符。

如何执行此映射,或如何处理转义的 Unicode 字符,由实现定义。 IE。是否处理 Unicode 字符取决于编译器实现。有些会,有些不会。您必须阅读编译器的文档以了解它的作用。如果您在源代码中使用 Unicode 字符,您需要注意,如果源代码被其他编译器使用,它们可能无法可靠地(或根本不)工作。

总结。如果你想编写可移植的代码,那么只使用基本的源字符集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2016-10-22
    • 2011-05-26
    • 2011-01-10
    • 1970-01-01
    相关资源
    最近更新 更多