Duplicar posible:
Double Negation in C++ codeEstá usando '!!' en buenas prácticas C/C++ y es común?
Por lo que yo sé, ningún C/C++ libros tutoriales o manuales mencionan esta técnica. Tal vez porque es solo una cosita pequeña, que no vale la pena mencionar.
Lo uso porque C/C++ mezcla el tipo de bool con int, largo, puntero, doble etc ... juntos. Es muy común que necesite convertir un bool no bool. No es seguro usar el valor (bool) para hacer eso, así que uso !!
para hacerlo.
Ejemplo:
bool bValue = !!otherValue;
No he oído hablar de ningún problema con él. – chris
"No es seguro usar el valor (bool) para hacer eso" ¿Por qué? –
Este asunto ya fue discutido aquí: http://stackoverflow.com/questions/248693/double-negation-in-c-code y http://stackoverflow.com/questions/8617090/double-negation-inc-c- is-it-guaranteed-to-return-0-1 – Juliano