• [^] # Re: works for me

    Posté par (site web personnel) . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 1.

    Si les développeurs commencent à faire des new sur des vecteurs même pas hérités, la dérivation publique de std::vector<> sera le moindre des problèmes.
    Dans l'absolu tu as raison, mais en sortant du contexte académique, cela passe...

    ...presque. Le hic probable qui va planter les dév qui savent qu'on ne doit jamais faire de new sur un conteneur de la STL (et cf mon message précédent), est le suivant

    std::vector<int> /*&&*/ cots::f();
    void cots::g(std::vector<int> v); // copy-elision volontaire
    ...
    MyVector<int> v = cots::f(); // copy-conversion
    // certes, on va plutôt jouer avec [] et pas avec le C++ avec un type pareil...
    v.erase(
     std::remove_if(
     v.begin(),v.end(),
     [&](int i){i>42)}),
     v.end());
    g(v); // et re: copie-conversion