¿Por qué usar iteradores en lugar de índices de matriz?


Tome las siguientes dos líneas de código:

for (int i = 0; i < some_vector.size(); i++)
{
    //do stuff
}

Y esto:

for (some_iterator = some_vector.begin(); some_iterator != some_vector.end();
    some_iterator++)
{
    //do stuff
}

Me han dicho que se prefiere la segunda vía. ¿Por qué es esto exactamente?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52