是' +++ ',它只是一个后缀增量后面跟着一个中缀(总是)
Is `+++` its just a post-fix increment followed by an infix (always)?
考虑Java的SO问题+++操作符是如何工作的?
我明白
- 没有像'+++'这样的操作符,它只是一个后跟中缀add的后缀增量
- 这是对可读性的犯罪
我想知道的(只是出于好奇)IF
+++
,它只是一个中缀加后加一个中缀加,而不是 +++
,它只是一个中缀加后加一个前缀加,或者是一个未定义的行为。
考虑我已经测试了以下程序
#include <iostream>
int main() {
int x = 1;
std::cout<< x+++1 << std::endl;
std::cout<< 1+++x << std::endl;
}
在vc++, gcc和g++中它们都符合
'+++' its just a post-fix increment followed by an infix add
和
'+++' its just an infix add followed by a prefix increment
是的,最大剪切规则告诉我们+++
被解析为++ +
(不是后缀后跟中缀,而是后缀后跟+
运算符),这也呈现
1+++x <----> 1++ + x
不合法,因为1
不是左值
相关文章:
- 为什么在排序链表上的这种合并实现总是将两个列表都设置为 NULL,而只有一个应该设置一个列表?
- 大家好,当一个类有一个向量作为它的数据成员时,为什么它的大小总是24?
- 当涉及到一个序列时,"vector[n].push_back()"总是O(1)吗?
- 我写了一个类,它总是将其函数参数委托给它的成员,我该如何改进代码
- IBM Rhapsody c++ 代码生成 - 为什么总是在状态图周围放置一个活动状态
- 为什么我总是得到一个无限循环
- std::integral_constant<T, v>::value 总是有一个定义吗?
- 异步是否总是在C++中使用另一个线程/内核/进程
- 如果我将 decltype 应用于产生右值的表达式,我是否总是得到一个指针?C++
- 指针数组总是从索引C 生成一个
- C :为什么它总是首先执行最后一个参数
- 尝试分叉一个过程,第一个命令有效,但第二总是给出错误
- 如何总是在一行中获得C 的一个陈述?(格式/叮当式)
- 做抽象类总是拥有一个vtable
- 映射和设置总是一次分配一个项目吗
- clang astcontext.getParents总是返回一个空列表
- 如何确保迷宫总是有一个有效的路径C++
- mbtowc在osx上总是返回一个字节
- 我的函数总是返回一个巨大的数字
- 一个总是返回相同向量的函数