【C++】C++标准中定义名字标识符
标识符 identifier
C++中标识符有明确的定义,对保留的标识符也有明确的说明。
标识符是任意长的字母/字符,数字,下划线的序列。但是有效标识符必须以⾮数字起头,且是⼤⼩写敏感的,标识符中的每个字母/字符都有效。
有⼀类特殊的标识符,被称为关键字,为C++预留,具有特殊意义,不可⽤作其他⽤途。
另外还有⼀类标识符,⽤作某些操作符和标点符号的替代表⽰,也不可⽤作其他⽤途。例如and是&&的替代表⽰。
应⽤程序最好不要使⽤带有双下划线或者单下划线起头后跟⼤写字母的标识符,这些标识符通常被C++保留;单下划线起头的标识符也被保留给全局名字空间。
这⾥“保留”的意思是说:如果你⾮要⽤这些标识符,编译器虽然不会报错,但是程序的⾏为未定义。
Zombie identifier指的是以前C++中使⽤但是新C++标准中弃⽤的标识符,但是到现在,在某些特殊的语境中,他们依然被保留。例左半边翅膀
如auto_ptr。
平行录取
家常刀鱼标识符可以⽤在声明语句中与表达式中。
性动名字 names
C++中定义的名字包括如下:
标识符中国十大特美食
overloaded operator name, like operator+, operator new
user-defined conversion function name, like operator bool
user-defined literal operator name, like operator "" _km
template name followed by its argument list, like MyTemplate<int>
向晚意不适 驱车登古原每个标识符都是⼀个名字,标识了某个实体;但是名字这个概念更加宽泛,不仅仅包含了标识符,还包含了更多标识实体的字符串。