Ответ 1
Это расширение GCC, которое было удалено в GCC версии 4.2 и более поздних.
Эквивалент a >?= b
равен a = max(a,b);
Существует также очень похожий оператор a <?= b
, который означает то же, что и a = min(a, b);
.
Просматривая эту библиотеку С++ BigInt и нашел файл BigInt.cpp. В верхней части находится комментарий сверху о совместимости:
Этот класс был написан для компилятора g++ и использует некоторые расширения g++ (например, "long double" и " > ? =" ).
Что делает оператор >?=
? Я не могу найти ссылку на него где-нибудь еще.
Это расширение GCC, которое было удалено в GCC версии 4.2 и более поздних.
Эквивалент a >?= b
равен a = max(a,b);
Существует также очень похожий оператор a <?= b
, который означает то же, что и a = min(a, b);
.
Эта страница описывает, что >?
- это оператор "максимум", который возвращает самый большой из двух его числовых аргументов. Я предполагаю, что >?=
объединяет это с назначением, предположительно, назначая левому операнду, если правое значение больше.
См. расширение C: <? и > ? Операторы
Это оператор max-then-assign: возьмите большую левую и правую стороны и залейте его обратно в левую сторону.
Он удален из g++ и должен быть заменен на max
(или min
для <?=
)