【发布时间】:2014-09-16 00:11:26
【问题描述】:
for( string::iterator it = line.begin(); it != line.end(); it++ )
{
advance( it, 1 );
}
我遇到了分段错误。我正在尝试获取迭代器中的下一个值,以便将其与十六进制进行比较。
【问题讨论】:
-
你当然可以。不过,您仍然不能超过
end()。 -
尝试一个多一个或少一个字符的字符串,你可能不会遇到段错误。
-
我想你想用
std::adjacent_find() -
你可能想去
line.end()之前的一个。 -
看文档:en.cppreference.com/w/cpp/iterator/advance
std::advance不是你想用的...