Vlákno názorů k článku Qt Developer Days: jak se daří Qt bez Nokie? od prisma - Qt sa nijako extra nevenujem, ale páči sa...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 10. 2013 0:19

    prisma (neregistrovaný)

    Qt sa nijako extra nevenujem, ale páči sa mi a budem sa mu venovať, preto ma prekvapuje táto kauza už tým, že existuje.

    Odkazovaný článok som iba rýchlo prebehol pohľadom, ale aj tak sa mi ťažko chápe o čo tvorcom Qt vlastne ide.

    V prípade rozhodovania, či použiť std::vector alebo std::list, má byť primárnym kontajnerom std::vector, lebo poskytuje veľa vecí, ktoré std::list neposkytuje a veľmi často, až na prípady naozaj dlhých sekvencií má aj vyššiu výkonnosť. Toto je mimochodom známe a dokumentované minimálne 10 rokov.

    Paradoxne, jedným z hlavných dôvodov prečo použiť std::list nie je výkonnosť pri vkladaní do stredu, ale jeho správanie počas tohto vkladania.

    Okrem iného, std::vector je doporučený aj samotným štandardom.

    No a keď to platí pre knižnicu tvorenú často samotnými tvorcami C++, prečo by to malo platiť niečo iné pre ostatné knižnice?

    Tak prečo je vlastne za primárny kontajner považovaný QList?

  • 30. 10. 2013 14:35

    Jan Struhár

    Po léta bylo v Qt dokumentaci, že QList je interně implementovaný vektorem, takže má výhody vektoru i listu, pokud člověk jen appenduje/pre­penduje. Kto nečíta štandard, nechá sa pomýliť dokumentáciou.

    Přesná obdoba std::list je QLinkedList.