The biggest reason for using descriptors is that they can provide a higher degree of stability than iterators. For example, a vector will invalidate all iterators on insert and remove.
[skip]
"Remove" also invalidates vertex descriptors!
For VertexList == vecS, yes. My advice regarding this would be: If you're using vecS for vectors, don't remove vertices. If you have to remove vertices, use listS and never call num_vertices,
For anything other than vecS, remove_vertex shouldn't invalidate descriptors other than the one removed. I hope.
Andrew Sutton