c++之双叹号的含义

看一些代码时,有时候看到!!(cond)的用法,这个用法的含义是什么呢?

答:我们都知道!(cond)的含义,即取反的含义,若cond为非0,则值为0,;若cond为0,则值为0;

那么以此类推,不难得出!!的含义,即若cond为非0,则值为1,;若cond为0,则值为0

这里有一个隐藏含义,即可以通过!!修饰后,得到的结果肯定为0或者1,可以达到修改数值的目的,例如:

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

cout<<"!!k = "<

通过上面例子可以看到原本k和m的数值分别是12和-1,但是经过!!修饰后都变成了1。

注意事项:不建议!!修饰浮点数

你可能感兴趣的:(c++,c++,开发语言)