C++ STL容器中的NULL指针

0 c++ tr1 access-violation unordered-set fatal-error

不幸的是,我没有完全开发自己开发的程序.我最近注意到运算符上的Visual Studio致命错误 - unordered_set,它是从简单插入指向unordered_set的指针调用的.在查看了本地人之后,我注意到set只有2个元素,其中最后一个是NULL(所以我想这就是它崩溃了).现在问题:unordered_set(或任何其他STL容器)如何(理论上)获得NULL指针作为其元素之一.程序是多线程的,但根据我的评论,这部分代码只能从一个线程访问.谢谢.

为感兴趣的人调用堆栈和部分源代码: http://privatepaste.com/c8e7f35a4e(从Object本身调用PushToProcessed,它将引用传递给自己,因此不能为NULL)

ezp*_*zpz 6

集可以包含可以为NULL的指针.

#include <iostream>
#include <vector>

int main () {
    std::vector<int *> foo;
    foo.push_back (NULL);
    std::cout << foo.size () << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

容器可以很容易地包含NULL值.你是在谈论容器的内部结构搞砸了吗?