AJJ*_*AJJ 8 c++ conditional-statements
考虑这个功能
template<class T> inline bool cx(T &a, T b) {return a < b ? a = b, 1 : 0;}
Run Code Online (Sandbox Code Playgroud)
任何人都能解释这究竟是做什么的吗?它似乎与典型的condition ? true : false格式不同.
我们可以这样说得更清楚:
return a < b ? (a = b, 1) : 0;
Run Code Online (Sandbox Code Playgroud)
带括号的位表示"分配b给a,然后1用作我们的值".
C和C++中逗号分隔的值列表通常表示"评估所有这些,但使用最后一个作为表达式的值".