2010-10-22 16 views
9

Muchas veces veo en código de fuente abierta que una llamada a una función C se convierte en vacía. Por ejemplo, en el código fuente ls (http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ls/ls.c) veo lo siguiente .La función de conversión vuelve al vacío

(void) setlocale(LC_ALL, ""); 

¿Por qué es una buena práctica?

+1

Para C++: http://stackoverflow.com/questions/689677/casting-unused-return-values-to-void –

Respuesta

13

Significa explícitamente que ignoras el valor de retorno y no lo olvidas.

+2

Algunos analizadores estáticos advierten si un valor de retorno se ignora silenciosamente y no advierten cuando se ignora explícitamente echando al vacío Era más importante cuando solo teníamos códigos de error y ninguna excepción ... –

+2

... C todavía no tiene excepciones, gracias a Dios. – nmichaels

+3

@ Peter G .: Esta pregunta tiene una etiqueta C. Todavía no tienen excepciones. –

Cuestiones relacionadas