vector<bool>不是容器

vector<bool>不是容器,为了节省空间,其内部是用一个bit来表示一个bool值的,operator[]不会返回一个指向bool值的引用,而是返回一个代理(proxy)

试图以数组的形式来使用vector<bool>会引发错误。

vector<bool> some(5, true);

memset(&some[0], 0, sizeof(false) * 5); // 引发错误

posted @ 2019-07-13 20:49  aloog  阅读(449)  评论(0编辑  收藏  举报