Partage
  • Partager sur Facebook
  • Partager sur Twitter

Meilleur moyen de retourner un map

Sujet résolu
    22 février 2018 à 11:46:16

    Bonjour,

    Je réalise actuellement un petit programme avec Qt. J'ai un map qui contient les attributs d'un objet et il peut éventuellement devenir assez gros. Actuellement, le getteur est défini comme ça :

    QMap<qstring qstring=""> getAttributes() const;
    

    Ce qui est loin d'être optimisé car je le retourne par copie. Faut-il que je passe par une référence ou un pointeur ? Comment utiliser la valeur du retour après ?

    Merci de votre aide et bonne journée !</qstring>

    -
    Edité par Wizix98 22 février 2018 à 11:50:35

    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2018 à 12:09:06

      Nop, c'est ok comme ca.

      1. QMap, comme la majorité des classes de valeur de Qt (QString, QVector, QPoint, etc, c'est a dire les classes qui n'héritent pas de QObject) utilise le COW (copy-on-write), ce qui rend la copie plus light.

      2. et de toutes facon, le retour pas valeur peut etre optimisé par le compilateur via la copy elision( https://en.wikipedia.org/wiki/Copy_elision )

      • Partager sur Facebook
      • Partager sur Twitter

      Meilleur moyen de retourner un map

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown