Additionally, if you are not going to use the iterator outside of the loop, then limit the iterator to the scope of the loop by writing it like this:
Code:
for (std::vector<CLink*>::iterator itPos = m_linkArray.begin(); itPos != m_linkArray.end(); ++itPos)
{
(*itPos)->update();
}
Note that I used operator!= instead of operator< since you do not actually need operator< (and it helps if you need to change the container to one without random access iterators). It is also more idiomatic to use pre-increment rather than post-increment (unless post-increment is actually useful in the context) since it can be more efficient and is almost certainly no less efficient.
You could also consider using a standard generic algorithm instead of an explicit loop, e.g.,
Code:
std::for_each(m_linkArray.begin(), m_linkArray.end(), std::mem_fun(&CLink::update));