STL中multimap的insert异常,该如何?
typedef struct WORDID
{
string sWord;
unsigned int uiId;
} WordId;
WordId WordIdTemp;
typedef multimap<WordId, PortfolioItem, m_less<WordId> > PortfolioMap;
typedef multimap<WordId, PortfolioItem, m_less<WordId> >::value_type PVT;
typedef multimap<WordId, PortfolioItem, m_less<WordId> >::iterator PITOR;
WordIdTemp.sWord = ditor->sWord;
WordIdTemp.uiId = ditor->uiId;
PortfolioItemTemp.uiId = ditor->uiId;
PortfolioItemTemp.sWord = ditor->sWord;
PortfolioItemTemp.iFrequency = ditor->iFrequency;
PortfolioItemTemp.sFolderName = fitor->sFolderName;
PortfolioTemp.insert(PVT(WordIdTemp, PortfolioItemTemp)); // error
我程序用10000篇文章测试时没问题,Boss说让我测一下程序最多能支持多少篇文章,我就搞了20000。结果程序在error处出现异常。请问这是什么原因?
内存应该是够用的(4G用了3.x个G)。
我想进行一下异常处理,但是不知道insert失败返回的是什么,该如何判断?
谢谢!!!
{
string sWord;
unsigned int uiId;
} WordId;
WordId WordIdTemp;
typedef multimap<WordId, PortfolioItem, m_less<WordId> > PortfolioMap;
typedef multimap<WordId, PortfolioItem, m_less<WordId> >::value_type PVT;
typedef multimap<WordId, PortfolioItem, m_less<WordId> >::iterator PITOR;
WordIdTemp.sWord = ditor->sWord;
WordIdTemp.uiId = ditor->uiId;
PortfolioItemTemp.uiId = ditor->uiId;
PortfolioItemTemp.sWord = ditor->sWord;
PortfolioItemTemp.iFrequency = ditor->iFrequency;
PortfolioItemTemp.sFolderName = fitor->sFolderName;
PortfolioTemp.insert(PVT(WordIdTemp, PortfolioItemTemp)); // error
我程序用10000篇文章测试时没问题,Boss说让我测一下程序最多能支持多少篇文章,我就搞了20000。结果程序在error处出现异常。请问这是什么原因?
内存应该是够用的(4G用了3.x个G)。
我想进行一下异常处理,但是不知道insert失败返回的是什么,该如何判断?
谢谢!!!
...全文
相关推荐
C++ STL入门教程(7) multimap、multiset的使用
C++ STL入门教程(7) multimap、multiset的使用本文主要介绍了C++ STL中multimap和multiset的使用方法,multimap是一对多索引,multiset是多元集合
STL容器multimap的使用
例如,`multimap<int, string> m; m.insert(make_pair(1, "one"));` - 构造函数:可以通过初始化列表来一次性插入多个元素,如`multimap<int
C++ STL map与multimap用法[项目源码]
map和multimap作为STL中的基本组件,它们各自的特点和用途对于开发者而言是必须掌握的知识点。
STL自定义排序准则
在STL中,map和multimap的键值可以是结构体,这时我们需要使用operator<运算符来自定义排序准则。
好友列表(multimap实现)
在C++编程中,`std::multimap`是标准模板库(STL)中的一种关联容器。它是一个可以存储键值对的数据结构,其中键值可以重复。


