Je viens de tomber sur un projet avec un assez énorme base de code.
Je suis surtout aux prises avec C++ et beaucoup de code à écrire utilise la double négation de leur logique booléenne.
if (!!variable && (!!api.lookup("some-string"))) {
do_some_stuff();
}
Je sais que ces gars-là sont intelligents programmeurs, il est évident qu'ils ne font pas cela par hasard.
Je ne suis pas assaisonné C++ expert, mon seul deviner pourquoi ils font ce qu'ils veulent faire absolument certain que la valeur évaluée est la représentation booléenne. Donc, ils nient, puis nier qu'à nouveau pour le faire revenir à sa réelle valeur booléenne.
Est-ce correct, ou alors j'ai loupé quelque chose?