小编Cac*_*joe的帖子

C++ std :: vector <bool>使用drmemory给出了未初始化的读错误

我在我的项目中使用stl容器,我发现了一个我无法解释的奇怪错误.我们考虑以下代码:

#include <iostream>
#include <vector>

int main(int argc, char** argv)
{
    std::vector<bool> vec;
    vec.resize(5, false);
    std::cout << vec.at(0);
}
Run Code Online (Sandbox Code Playgroud)

这会按预期输出0,但如果我使用drmemory运行内存检查,则会发现未初始化的读取.任何人都可以帮助理解这种行为吗?

平台:win32; 编译器:mingw32 - gcc 4.7.2; Drmemory 1.6.0 - 构建2

c++ stl dr-memory

6
推荐指数
1
解决办法
442
查看次数

标签 统计

c++ ×1

dr-memory ×1

stl ×1