En regardant certains codes, je vois parfois l'utilisation de !!(cond) . Que signifie cette utilisation ?
Réponse : Nous connaissons tous la signification de !(cond), qui est la signification de la négation. Si cond est non-0, la valeur est 0 ; si cond est 0, la valeur est 0 ; si cond est 0, la valeur est 0 ;
Ensuite, par analogie, il n'est pas difficile de comprendre la signification de !! , c'est-à-dire que si cond est non-0, la valeur est 1 ; si cond est 0, la valeur est 1 .
Il y a ici un sens caché, c'est-à-dire qu'après modification avec !!, le résultat obtenu doit être 0 ou 1, et le but de modifier la valeur peut être atteint, par exemple :
int k = 12;
int m = -1;
int n = 0;
cout<<"!!k = "<<!!k << " !!m = "<< !!m << " !!n = "<<!!n;
输出结果为:
!!k = 1 !!m = 1 !!n = 0
À partir de l'exemple ci-dessus, vous pouvez voir que les valeurs originales de k et m étaient respectivement 12 et -1, mais après modification, elles sont devenues 1.
Remarque : Non recommandé ! Modifier les nombres à virgule flottante .