Более ранние итерации g++
(, а не компилятор C) использовали эти операторы для предоставления вам минимальных или максимальных значений, но они давно устарели в пользу std::min
и std::max
.
В основном они приравниваются (но без к возможности двойной оценки a
или b
):
a <? b --> (a < b) ? a : b
a >? b --> (a > b) ? a : b
С точки зрения их замены (и вы действительно должны заменить их), вы можете использовать что-то вроде:
Offset block_count = cpfs->geo.block_size - block_offset;
if (block_count > count) block_count = count;
или эквиваленты, использующие std::min
.
Я не большой поклонник использования "расширений" C / C ++ (особенно тех, которые устарели и / или удалены), так как они привязывают меня к конкретной реализации языка.
Никогда не следует использовать нестандартное расширение, если доступен совершенно адекватный стандартный метод.