第一种情况,极有可能造成段错误,应该采用第二种实现方法。
第一种:
string sortStr = "{date asc}";
string::iterator iter;
for (iter = sortStr.begin(); iter != sortStr.end();++iter;)
{
if (*iter == '{' || *iter == '}')
{
sortStr.erase(iter);
}
}
第二种:
string sortStr = "{date asc}";
string::iterator iter;
for (iter = sortStr.begin(); iter != sortStr.end(); )
{
if (*iter == '{' || *iter == '}')
{
sortStr.erase(iter);
}
else
{
++iter;
}
}