我的理解是,通常整个非字母数字字符组如*,?,;,#等可以称为标点符号.但是,在表达式中
3*4
Run Code Online (Sandbox Code Playgroud)
*特别称为"运算符",而在类似的声明中
int *p;
Run Code Online (Sandbox Code Playgroud)
*不是运算符,而是仅表示p是指针.类似地,在声明中使用时,3个附加符号&,[]和()不称为运算符.我知道所有这些符号在各种情况下的意义,它们如何发音以及它们的作用,但是在声明中使用时,这四个符号的整个组是否有特定的名称?由于缺乏更好的东西,我总是把它们称为"属性",而且我找不到关于该组名称的语言标准中的任何具体内容.
当在语句声明中使用时,这 4 个符号被视为声明符修饰符。分类标点符号仅表示它们可以在多个上下文中使用,因此它们也被视为标点符号。https://msdn.microsoft.com/en-us/library/aa267831(v=vs.60).aspx
当用于非声明式庄园时:所有 4 个符号(*、&、[]、())在 C++ 中都被视为运算符。运算符有不同类型,例如算术运算符、关系运算符和逻辑运算符。乘法符号属于算术运算符类别,而其他 4 个运算符属于杂项/其他运算符类别。* 称为引用运算符。& 称为取址运算符。[] 称为下标运算符。() 称为函数调用运算符。由于它们在 C++ 中都被视为运算符,这意味着您可以覆盖它们的功能。
这是一个很好的链接,演示了 C++ 中的运算符优先级:http://www.geeksforgeeks.org/operators-cc/
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |