我正在寻找 C++ 中的关联容器,而不是要求它的元素是默认可构造的,而是会在请求未找到的键的情况下引发异常 - 编辑:在适当的函数中,显然不是全部需要默认构造。这基本上是因为我用一个打电话回家并告诉主对象分配了多少内存,因此需要知道“家”在哪里的分配器替换标准分配器。
问问题
84 次
std::map 最简单的答案是不使用operator[]
. 用于insert
创建新元素并find
定位现有元素。如果不使用operator[]
包含的类型不需要是默认可构造的,并且如果find
没有找到对象,则可以决定抛出异常。
您在寻找 的成员at
吗boost::unordered_map
?这些不在std::tr1::unordered_map
AFAICT 中。