C++ 理解初始化
C++ Understanding the Initialization
我一直在研究一段代码。
有人可以解释这行代码。这是在做什么?
dt = (dt < temp ? dt : temp)
正在寻找回复。
嘿,这个语法叫做三元运算符
这是你的情况
(dt<temp)
如果您的条件成立,那么这将 运行。
? dt
如果条件不符合要求,则“:”后的语句将运行。
: temp
示例:
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
printf(result);
如果时间小于 18 则打印 Good day 如果不小于 18 则打印 Good evening。
您可以从这里了解更多信息:https://www.freecodecamp.org/news/c-ternary-operator/
这是使用 ternary operator 实现手动 min()
操作。代码大致等同于:
if (dt < temp)
dt = dt
else
dt = temp;
如果dt < temp
为真,则将dt
设置为自身的值,否则将dt
设置为temp
的值,如果temp <= dt
] 是真的。
IOW,相当于dt = min(dt, temp);
我一直在研究一段代码。 有人可以解释这行代码。这是在做什么?
dt = (dt < temp ? dt : temp)
正在寻找回复。
嘿,这个语法叫做三元运算符
这是你的情况
(dt<temp)
如果您的条件成立,那么这将 运行。
? dt
如果条件不符合要求,则“:”后的语句将运行。
: temp
示例:
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
printf(result);
如果时间小于 18 则打印 Good day 如果不小于 18 则打印 Good evening。
您可以从这里了解更多信息:https://www.freecodecamp.org/news/c-ternary-operator/
这是使用 ternary operator 实现手动 min()
操作。代码大致等同于:
if (dt < temp)
dt = dt
else
dt = temp;
如果dt < temp
为真,则将dt
设置为自身的值,否则将dt
设置为temp
的值,如果temp <= dt
] 是真的。
IOW,相当于dt = min(dt, temp);