Oui donc tu t'assure qu'il y a bien un élément dans ton tableau avant d'afficher la valeur contenu en v[ i ] (t'as oublié le std::cout je crois), par contre il me semble que si i = 1, v [ i ] retournera la seconde valeur contenue dans ton vector, à savoir, 2, puisque la première valeur d'un vector se trouve en v [ 0 ].
Mais oui dans ton cas, assert vérifie l'expression i < v.size(), si l'expression est vérifiée elle retourne v[ i ] soit 2.