Sci*_*Guy 2 c++ variables visual-c++ c++11
我们可以使用特殊字符在c ++/c中定义变量,例如;
双ε,μ,β,κ;
如果是,那怎么能实现呢?
根据CPP标准(N4713)的工作草案,
5.10标识符[lex.name]
...
标识符是一个任意长的字母和数字序列.标识符中的每个通用字符名称应指定一个字符,其ISO 10646中的编码属于表2中指定的范围之一.初始元素不应是指定编码属于其中一个的字符的通用字符名称.表3中规定的范围.
当我们看表3时:
表3 - 最初不允许的字符范围(组合字符)
Run Code Online (Sandbox Code Playgroud)0300-036F 1DC0-1DFF 20D0-20FF FE20-FE2F
你所提到的符号是希腊字母,其范围从U+0370以U+03FF和扩展希腊设定的范围U+1F0x,以U+1FFx按照维基百科.允许这两个范围作为标识符的初始元素.
请注意,并非所有编译器都支持此功能.
带-std=c++17选项的GCC 8.2 无法编译.
但是,Clang 7.0带有-std=c++17选项编译.
Live Demo for both GCC and Clang
| 归档时间: |
|
| 查看次数: |
361 次 |
| 最近记录: |