Używam kontenerów STL w moim projekcie i odkryłem dziwny błąd, którego nie potrafię wyjaśnić. Rozważmy następujący kod:C++ std :: vector <bool> daje niezainicjowany błąd odczytu przy użyciu drmemory
#include <iostream>
#include <vector>
int main(int argc, char** argv)
{
std::vector<bool> vec;
vec.resize(5, false);
std::cout << vec.at(0);
}
ten wyprowadza 0 zgodnie z oczekiwaniami, ale jeśli mogę uruchomić sprawdzanie pamięci z drmemory odkryje niezainicjowanej odczytu. Czy ktokolwiek może pomóc w zrozumieniu tego zachowania?
Platforma: win32; Kompilator: mingw32 - gcc 4.7.2; Drmemory 1.6.0 - kompilacja 2
'wektor' jest dziwne. –