在stl的时候突然发现了一句很有意思的话:“vector
首先,vector是一个容器,但是vector
按理来说bool类型应该是大小1byte=8bit的一个变量,但是在vector
假设有如下代码:
1 | vector<bool> a = {true,false,true} |
如果我们检查c的类型,会发现c并不是bool类型的,而此时再输出a[0],发现a[0] = false。这其中包含了一个隐式的转换,c实则为vector
1 | &p = c[0]; |
因为c[0]根本不能作为一个左值,且c[0]返回的是临时量,无法给指针赋值。stl真是太神奇了