C++における二重感嘆符の意味

コードを見ていると、!!(cond)が使用されていることがありますが、これは何を意味するのでしょうか?

答え: 否定の意味である !(cond) の意味は誰もが知っています。cond が 0 以外の場合、値は 0、cond が 0 の場合、値は 0、そして cond が 0 の場合、値は 0 です。

次に、類推して、 !!の意味を理解するのは難しくありません。つまり、 cond が 0 以外の場合、値は 1 であり、 cond が 0 の場合、値は 1 です

ここには隠された意味があります。つまり、!! で変更した後、得られる結果は 0 または 1 でなければならず、値を変更する目的は達成できます。次に例を示します。

int k = 12;
int m = -1;
int n = 0;

cout<<"!!k = "<<!!k << " !!m = "<< !!m << " !!n = "<<!!n;

输出结果为:
!!k = 1 !!m = 1 !!n = 0

上記の例から、k と m の元の値はそれぞれ 12 と -1 でしたが、変更後は 1 になったことがわかります。

注: 推奨されません! 浮動小数点数を変更してください

おすすめ

転載: blog.csdn.net/iqanchao/article/details/132980598