La signification du double point d’exclamation en C++

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 .

Je suppose que tu aimes

Origine blog.csdn.net/iqanchao/article/details/132980598
conseillé
Classement