算法笔记:关于bool数组赋值的问题

一个很严肃的问题

一般情况,对于bool数组的初始化都是设为false,即:0
之所以这样做的原因,数组其他部分的自动赋值会默认为0,所以,想要初始化全部为true,使用

bool isTrue[N] = {true};

就会出错,因为这样做,只有第一个位置为1(机器表示的true),其他都为0;
所以,刷题刷得忘记思考得时候……
**很容易被这种特别浅显的小问题所困恼!

解决方法

使用fill()进行填充就行,并且特别特别好用,不管是一维度还是多维度。
另外memset,除了赋值0和-1,或者字符数组外,其他情况切记不能用,因为这是按字节赋值的,比如5就对应84215045,想想都可怕,是吧~

发布了146 篇原创文章 · 获赞 42 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/SmartLoveyu/article/details/100121485