iteraciones anteriores de g++
(no el compilador C) utilizan estos operadores para darle los valores máximo y mínimo o larga pero han estado en desuso en favor de std::min
y std::max
.
Básicamente, se equiparan a (pero sin la posibilidad de una doble evaluación de a
o b
):
a <? b --> (a < b) ? a : b
a >? b --> (a > b) ? a : b
En cuanto a la sustitución de los mismos (y que realmente debe reemplazarlos), puede use algo como:
Offset block_count = cpfs->geo.block_size - block_offset;
if (block_count > count) block_count = count;
o equivalentes usando std::min
.
No soy un gran admirador de usar "extensiones" C/C++ (especialmente aquellas que han sido obsoletas o eliminadas) ya que me atan a una implementación específica del lenguaje.
Nunca debe utilizar una extensión no estándar donde esté disponible un método estándar perfectamente adecuado.
Tenga en cuenta que esta pregunta es específica de C. –
¿De dónde viene todo el amor para esta pregunta? ¡Gracias! –
Similar coincidencia con las etiquetas de formato abreviado de PHP ... ?> – smci