可能重复:
C++ 检查迭代器是否有效的最佳方法
假设我有一个函数,它将迭代器作为其唯一参数,如下所示。
void DoSomethingWithIterator(std::vector<int>::iterator iter)
{
// Check the pre-condition
assert( /* how to validate iter here? */ )
// Operate on iter afterwards
..
}
我怎么知道是否iter
有效。通过有效,我的意思是它指向向量内的现有元素,例如 from m_intVector.begin()
to m_intVector.end()
。