考虑这个功能
template<class T> inline bool cx(T &a, T b) {return a < b ? a = b, 1 : 0;}
任何人都可以解释这究竟是做什么的吗?它似乎与典型的condition ? true : false
格式不同。
答案 0 :(得分:9)
我们可以这样说得更清楚:
return a < b ? (a = b, 1) : 0;
带括号的位表示“将b
分配给a
,然后使用1
作为我们的值”。
Comma-separated lists of values通常意味着“评估所有这些,但使用最后一个作为表达式的值”。
答案 1 :(得分:4)
这种组合有点棘手,因为它将comma operator与条件表达式结合起来。它解析如下:
0
是条件,1
是“when true”表达式b
是“when false”表达式逗号运算符的结果是它的最后一个组件,即a
。首先使用逗号运算符的目的是导致副作用将class Produkt:
def __init__(self, produkt, pris, vikt):
self.produkt = produkt
self.pris = pris
self.vikt = vikt
分配给<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow>
<Button
android:layout_marginRight="2dp"
android:text="1" />
<Button
android:layout_marginRight="4dp"
android:text="1" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/darker_gray" />
<Button
android:layout_marginLeft="4dp"
android:layout_weight="1"
android:text="Good" />
</TableRow>
<TableRow>
<Button
android:layout_marginRight="4dp"
android:layout_span="2"
android:text="Reset" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/darker_gray" />
<Button
android:layout_marginLeft="4dp"
android:layout_weight="1"
android:text="Submit" />
</TableRow>
</TableLayout>
。
答案 2 :(得分:3)
INSERT OR REPLACE INTO table (sensor_name,timestamp) VALUES ("TNL27",1309540994) WHERE sensor_name=TNL27 OR WHERE sensor_name=1309540994
运算符只是从左到右计算所有表达式,并计算最右边表达式的值。
您的代码与......相同。
{{1}}
答案 3 :(得分:3)
您可以使用,
在这种情况下,如果&lt; b,然后将b分配给a并返回1.根据C ++语法:
conditional-expression:
logical-or-expression
| logical-or-expression ? expression : assignment-expression
,其中
expression:
assignment-expression
| expression , assignment-expression
assignment-expression:
conditional-expression
| logical-or-expression assignment-operator initializer-clause
| throw-expression
答案 4 :(得分:1)
将其读作:
current features
答案 5 :(得分:0)
a < b ? a = b, 1 : 0
被解析为(a < b) ? (a = b, 1) : 0
,一个普通的条件运算符。当a < b
为真时,a = b, 1
会通过将b
分配给a
然后“返回”来评估cx(a,b)
。a
的净效果就是分配a
较大的值MasterPage
,如果.aspx
更改则返回1,否则返回0.