问题标签 [comma-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C:在宏中创建和返回变量
我有点困惑为什么这个 C 宏无法编译:
调用它时,我收到错误:
如果我typeof(lua_to##type)
用 just替换也会发生同样的情况int
,所以我怀疑问题与逗号有关。你不能在这样的表达式中间声明变量吗?
我知道 gcc 有一个从块返回值的扩展,但我想避免编译器扩展。我也意识到这应该改为内联函数,但现在我很好奇为什么宏不起作用。
c - 新手:编译时出现C语法错误
当我尝试编译时,第一行 [ for(int... ] 出现此错误:
为什么我需要添加另一个')'?
c++ - C++条件运算符中逗号运算符的优先级是什么?
这里发生了什么事?
第二种情况似乎很好。在第一种情况下,我希望 x 和 y 都递增到 1,但只有左侧操作数递增。
c++ - 移动由逗号运算符抑制的构造函数
这个程序:
当由 gcc-4.7.1 编译时输出(链接):
为什么逗号运算符会有这种效果?标准说:
5.18 逗号运算符 [expr.comma]
1 - [...] 结果的类型和值是右操作数的类型和值;结果与其右操作数[...]具有相同的值类别。如果右操作数的值是临时的,则结果是临时的。
我是否错过了一些允许逗号运算符影响程序语义的东西,或者这是 gcc 中的错误?
java - Java - for 循环声明外的逗号运算符
我知道我可以像这样使用逗号运算符
但是有些文章似乎建议可以在 for 循环声明之外使用逗号运算符,例如
来源:http ://www.cs.umd.edu/~clin/MoreJava/ControlFlow/comma.html
或者
来源:https ://stackoverflow.com/a/12047433/1084813
对于代码混淆竞赛或混淆我的同事来说,这将是一个巧妙的技巧,但两个示例都不会编译(Java 1.6,Eclipse Juno),错误是“赋值的左侧必须是变量”。我尝试查看编译器设置,看看是否可以禁止防止错误代码,但没有运气。
怎么了?逗号运算符是否是后来更改的旧规范的一部分?编写这些示例的人是否使用允许这样做的不同 Java 设置?
c++ - 为什么双 x = 0,1; 不编译?
不编译(在 MSVC9.0 上尝试)。错误是
我确实意识到那里有一个逗号而不是一个点,但是上面的行不应该被解释为以下内容吗?
顺便说一句,初始化使用括号成功编译。
operator ,
我在考虑优先级低于的线路operator =
,但在这种情况下=
不是运算符,所以这不应该是一个问题。什么句法规则决定了
应该是非法的吗?
c++ - 逗号运算符用法
考虑这段代码:
我很惊讶 MSVC 2010 给了我编译这个 for 循环的错误。MSVS 禁止使用逗号运算符吗?
这是一个错误:
如果我尝试将“int i”定义推出循环,我会得到:
c - C中的逗号和赋值运算符
我有以下内容:
输出是:
逗号运算符如何与赋值运算符一起使用?据我所知,如果我们有,它将评估并返回第二个表达式,
那么,它为什么要评估a = b
呢?