Du coup en release ta fonction est UB avec une collection vide ? :|
C'est l'idée oui :)
L'UB n'est pas qu'une mauvaise chose, ça veut juste dire que la fonction à un périmètre limité. Il y a plein de situations en UB et on ne met pas des verifications pour tout : le débordement d'un signed int, la comparaison d'itérateurs provenant d'instances de conteneurs différents...
L'assert est très bien pour documenter ces cas et pour servir de garde fou pendant le développement.
[^] # Re: Juste mon point de vue
Posté par Julien Jorge (site web personnel) . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 4.
C'est l'idée oui :)
L'UB n'est pas qu'une mauvaise chose, ça veut juste dire que la fonction à un périmètre limité. Il y a plein de situations en UB et on ne met pas des verifications pour tout : le débordement d'un
signed int, la comparaison d'itérateurs provenant d'instances de conteneurs différents...L'assert est très bien pour documenter ces cas et pour servir de garde fou pendant le développement.