>?=运算符是什么意思?

时间:2011-03-04 21:45:25

标签: c++ g++ operators

浏览此C ++ BigInt库并找到BigInt.cpp文件。在顶部有一个关于兼容性的评论:

  

这个类是为g ++编译器编写的,并使用了一些g ++扩展(如“long double”和“>?=”运算符)。

>?=运营商做了什么?我无法在其他任何地方找到它的参考。

3 个答案:

答案 0 :(得分:46)

这是GCC版本4.2及更高版本中删除的GCC扩展。

相当于a >?= ba = max(a,b);

还有一个非常相似的运算符a <?= b,与a = min(a, b);相同。

答案 1 :(得分:14)

This page描述>?是'maximum'运算符,它返回其两个数字参数中最大的一个。我猜测>?=将此与赋值相结合,大概是通过分配左手操作数来判断右手值是否更大。

答案 2 :(得分:3)

请参阅C extension: <? and >? operators

这是max-then-assign操作符:取左右两边的大部分并将其填回左侧。

它已从g ++中删除,应替换为max(或min替换为<?=