<?=和>的含义?C++中的运算符

2 c++ operator-keyword

的意义是什么 ?运营商在下面的代码?它在哪里使用?

adj[i][j] <?= adj[i][k] >? adj[k][j]
Run Code Online (Sandbox Code Playgroud)

我无法在其他地方找到这个运营商

Ada*_*eld 8

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

<?=>?=形式是operators-的分配形式a <?=b等同于a = a <? b等.

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

G ++最小和最大运算符(' <?'和' >?')及其复合形式(' <?=')和' >?=')已被弃用,现在已从G ++中删除.使用这些运算符的代码应该被修改为使用std::minstd::max不是代替.