Si j'utilise reserve() pour réserver suffisamment d'éléments pour un vecteur, push_back() (ou insert()) lancera-t-il des exceptions?
Il ne sera pas nécessaire d'effectuer une réaffectation, et donc le vecteur lui-même ne lancera aucune exception. Toutefois, les éléments que vous insérez peuvent renvoyer des exceptions lorsqu'ils sont copiés dans le vecteur. Par conséquent, push_back
et insert
peuvent toujours générer des exceptions.
Y at-il une référence quelque part qui spécifie quelle fonction stl lancer/ne pas jeter des exceptions?
Oui, le standard C++ contient cette information.
Avez-vous essayé de google 'référence C++'!? Étonnamment, le premier résultat est exactement ce que vous cherchez. – log0
Je ne suis pas sûr que cette référence contienne toutes les informations dont j'ai besoin, car je ne trouve aucun endroit où il est garanti qu'une fonction ne soit pas lancée. Dans ce cas, dois-je supposer que cela signifie que la fonction ne jette vraiment pas, ou que la référence omet simplement cette information? – user418680