J'ai lu tes commentaires bien après avoir écrit ma réponse (je suis arrivé bien après la bataille ;-)). Ton argumentation m'a convaincu (enfin dans sa majorité).
Ceci dit, de meme que string est un conteneur "special" avec des méthodes propres (mais qui conserve une grande partie des fonctions des conteneurs "normaux") je ne vois pas pourquoi vector, qui est très clairement une structure de données faite pour être indexée, ne pourrait pas avoir un jeu de fonctions qui, elles aussi, permettraient de manipuler les données en fonction des indices. Apres tout, c'est déjà ce que font operator[] et vector::at, non ?
Concernant le cas pratique d'utilisation, tu noteras que je n'ai pas dit que j’étais d'accord, mais bien que
Si c'est une operation récurrente, et considérée comme utile, [...]
J'utilise C++ assez régulièrement, mais dans un contexte particulier qui fait que je n'utilise que des parties très particulières et restreintes du langage (un peu de templates, parfois avec meta-programmation; un peu de POO; et rarement des cas vraiment tordus - meme si ca arrive quand meme).
Bref. Non, je n'ai pas besoin de ce genre de feature dans mon cas d'utilisation (si j'avais fréquemment besoin de supprimer un element a l'indice i dans un vecteur dans le contexte de mon boulot, je me demanderais sans doute si je n'avais pas peut-être mal choisi ma structure de données).
Dans le cas qui nous occupe, un intervenant dit qu'il a besoin de cette operation (et visiblement pour lui c'est un besoin récurrent). Quelqu'un lui répond, et donne une solution qui est quand meme plus compliquée que ce que veut l'intervenant original (mais qui peut sans doute être écrite une fois pour toutes sous forme de fonction template, certes). Et surtout, jusqu'à ton post, personne n'a demandé la fréquence d'utilisation d'une telle fonction (et c'est une question très pertinente). Ma réponse n'était pas une validation du besoin, mais une façon de montrer encore une fois comment lorsque quelqu'un dit "je veux faire X simplement" on lui répond "T'as qu'a écrire f(Z,Y,W) et ca te donnera X". :-)
[^] # Re: Donc pour résumer...
Posté par lasher . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 3.
J'ai lu tes commentaires bien après avoir écrit ma réponse (je suis arrivé bien après la bataille ;-)). Ton argumentation m'a convaincu (enfin dans sa majorité).
Ceci dit, de meme que
stringest un conteneur "special" avec des méthodes propres (mais qui conserve une grande partie des fonctions des conteneurs "normaux") je ne vois pas pourquoivector, qui est très clairement une structure de données faite pour être indexée, ne pourrait pas avoir un jeu de fonctions qui, elles aussi, permettraient de manipuler les données en fonction des indices. Apres tout, c'est déjà ce que fontoperator[]etvector::at, non ?Concernant le cas pratique d'utilisation, tu noteras que je n'ai pas dit que j’étais d'accord, mais bien que
J'utilise C++ assez régulièrement, mais dans un contexte particulier qui fait que je n'utilise que des parties très particulières et restreintes du langage (un peu de templates, parfois avec meta-programmation; un peu de POO; et rarement des cas vraiment tordus - meme si ca arrive quand meme).
Bref. Non, je n'ai pas besoin de ce genre de feature dans mon cas d'utilisation (si j'avais fréquemment besoin de supprimer un element a l'indice i dans un vecteur dans le contexte de mon boulot, je me demanderais sans doute si je n'avais pas peut-être mal choisi ma structure de données).
Dans le cas qui nous occupe, un intervenant dit qu'il a besoin de cette operation (et visiblement pour lui c'est un besoin récurrent). Quelqu'un lui répond, et donne une solution qui est quand meme plus compliquée que ce que veut l'intervenant original (mais qui peut sans doute être écrite une fois pour toutes sous forme de fonction template, certes). Et surtout, jusqu'à ton post, personne n'a demandé la fréquence d'utilisation d'une telle fonction (et c'est une question très pertinente). Ma réponse n'était pas une validation du besoin, mais une façon de montrer encore une fois comment lorsque quelqu'un dit "je veux faire X simplement" on lui répond "T'as qu'a écrire f(Z,Y,W) et ca te donnera X". :-)