2013-10-14 5 views
6

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

+5

'wektor ' jest dziwne. –

Odpowiedz

Powiązane problemy