我正在使用结构体的空向量。C++:vectorof结构体
现在,当我输入数据的struct成员之一,它改变向量的大小?
如果是的话,我应该如何初始化迭代器? 我有一个运行时错误,我的猜测是我的迭代器是无效的。
一些相关的代码:
struct wordstype
{
string word;
int counter_same;
int counter_contained;
int counter_same1;
};
std::vector<wordstype>::iterator iv=vec1.begin();
string temp_str;
string::iterator is=str1.begin();
while (is!=str1.end())
{
if (((*is)!='-')&&((*is)!='.')&&((*is)!=',')&&((*is)!=';')&&((*is)!='?')&&((*is)!='!')&&((*is)!=':'))
{
temp_str.push_back(*is);
++is;
}
else
{
(*iv).word=temp_str;
++iv;
str1.erase(is);
temp_str.clear();
}
}
的可能重复的[C++:如何插入数据到一个结构构件(结构位于矢量)](http://stackoverflow.com/questions/10208367/c-how-to-insert-data-to-a -struct-member-struct-located-in-vector) – 2012-04-18 12:54:49
你应该编辑你原来的问题,而不是发布一个新的! – 2012-04-18 12:55:25
基本上,获取数据到wordsType并做vec1.push_back(wordsTypeObj);这很安全。 – Jagannath 2012-04-18 12:56:03