<的含义?= 和>?运营商 in C++

meaning of <?= and >? operators in C++

本文关键字:gt 运营商 in C++ lt      更新时间:2023-10-16

下面的代码中?运算符是什么意思? 在哪里使用?

adj[i][j] <?= adj[i][k] >? adj[k][j]

我无法在其他任何地方找到这个运算符

它们是 G++ 提供的旧的非标准编译器扩展,用于计算其操作数的最小值或最大值。 a <? b 等效于 min(a, b)(其中每个运算符仅计算一次,如调用内联函数),而 a >? b 等效于 max(a, b)

<?=>?=形式是运算符的赋值形式,a <?=b等同于a = a <? b等。

除了非标准运算符之外,这些运算符已弃用并从现代版本的 G++ 中删除。 从已弃用的功能页面:

G++ 最小和最大运算符(' <? ' 和 ' >? ')

及其复合形式 (' <?= ") 和 ' >?= ') 已被弃用,现在已从 G++ 中删除。应修改使用这些运算符的代码,以改用std::minstd::max