• [^] # Re: Framework web

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Première beta de POCHE 1.0 disponible. Évalué à 1.

    Eh bien on parle aussi parfois de polymorphisme de méthode pour désigner la surcharge par opposition au polymorphisme de type que tu connais. Visiblement c'est un terme qui ne semble pas très répandu, j'ai trouvé peu de références sur le net, en tout cas il était utilisé dans les cours que j'ai eus sur les langages objets.

    J'avais justement parcouru le Web pour tenter de trouver quelque chose, mais rien de bien intéressant. Ça a l'air d'être une lubie d'universitaires franco-français.

    S'il faut avoir peur d'une simple délégation, où va le monde ? :-)
    Je suis un fainéant, moins j'en fait et mieux je me porte :-D

    J'ai pas compris l'exemple que tu as donné, pourquoi ne pas faire ça ? Le template ne fait pas bien son job ?

    typedef std::vector<std::string> string_array;

    Dans ce cas, string_array reste un std::vector. Je ne veux pas exposer l'interface de std::vector, et l'utilisateur n'a pas à savoir comment est implémenté string_array. Bref, dans ton cas, il est possible de confondre des type, puisque string_array est publiquement un std::vectorstd::string.
    Ceci implique que n'importe quel std::vectorstd::string peut être fournit en lieu et place de string_array. Donc le jour où tu décide de remplacer std::vectorstd::string par std::vectorstd::string<MonAlloc, MonAlloc>, partout où le code utilisera std::vertorstd::string devront être mis à jour. Alors qu'en étant orthogonal dès le départ, on évite ses blagues.

    De plus, il n'est pas possible de restreindre l'usage des méthodes de std::vector.

    Pour le reste du commentaire, je n'ai pas envie d'être méchant, alors je n'y réponds pas...

    Bah, plus personne ne nous regarde, on est entre nous, fais-moi mal.