Je n'achète pas non plus l'exemple précis du "find_last index qui vérifie v[k] == 0"—sur le github. Probablement parce que ce n'est pas un problème que j'ai fréquemment à résoudre. J'ai rarement besoin de boucler à l'envers.
Je l'ai personnellement rencontré plusieurs fois. La dernière fois, c'était pour une détection d'un gros objet noir sur un fond blanc. Pour détecter le bord droit, on partait du côté droit et on avançait vers la gauche jusqu'à trouver du noir. Comme il y avait un rectangle de recherche à l'intérieur de l'image, on se retrouvait à gérer les a et les b comme dans le code présenté. Le code marchait très bien jusqu'au jour où une personne à mis la gauche du rectangle de recherche sur le bord gauche de l'image (a == 0) et qu'un objet n'était pas présent. Ce genre de bug n'avait a été découvert par un client. Et quand on se retrouve avec une ânerie pareille, on se dit que les types non signés, c'est vraiment mal.
[^] # Re: Value Semantics Rocks
Posté par magnolia . En réponse à la dépêche C++17 garantit le court-circuit de copie (suite de la précédente dépêche). Évalué à 1.
Je l'ai personnellement rencontré plusieurs fois. La dernière fois, c'était pour une détection d'un gros objet noir sur un fond blanc. Pour détecter le bord droit, on partait du côté droit et on avançait vers la gauche jusqu'à trouver du noir. Comme il y avait un rectangle de recherche à l'intérieur de l'image, on se retrouvait à gérer les
aet lesbcomme dans le code présenté. Le code marchait très bien jusqu'au jour où une personne à mis la gauche du rectangle de recherche sur le bord gauche de l'image (a == 0) et qu'un objet n'était pas présent. Ce genre de bug n'avait a été découvert par un client. Et quand on se retrouve avec une ânerie pareille, on se dit que les types non signés, c'est vraiment mal.