vector<bool>不是容器,为了节省空间,其内部是用一个bit来表示一个bool值的,operator[]不会返回一个指向bool值的引用,而是返回一个代理(proxy)
试图以数组的形式来使用vector<bool>会引发错误。
vector<bool> some(5, true);
memset(&some[0], 0, sizeof(false) * 5); // 引发错误
vector<bool>不是容器,为了节省空间,其内部是用一个bit来表示一个bool值的,operator[]不会返回一个指向bool值的引用,而是返回一个代理(proxy)
试图以数组的形式来使用vector<bool>会引发错误。
vector<bool> some(5, true);
memset(&some[0], 0, sizeof(false) * 5); // 引发错误
转载于:https://www.cnblogs.com/love-me-love-my-code/p/11182006.html