172Fermer174
Kevin KoflerLe 27/04/2010 à 01:20
Folco (./149) :
J'avais regardé ceux de la STL, mais j'y avais rien compris grin

Utilise ceux de la "QTL" (les conteneurs dans la libQtCore) alors. smile

Ils sont beaucoup plus simples à utiliser. Ici, ce que tu veux est une QList, qui est un tableau de pointeurs. (Il y a aussi QVector qui stocke directement les objets, comme std::vector.)

Tu y perds vraiment à t'obstiner de vouloir coder sans Qt. Le C++ est pourri sans Qt! (Mais les alternatives sont pourries tout court. grin)
Folco (./156) :
Donc si j'ai un pointeur vers un conteneur qui contient des objets, je fais ça ?

for (int i=0; i == taille - 1 ; i++)
(*ptr_conteneur)[ i ].méthode();

?

Avec Qt, tu peux faire:
foreach (const Objet &obj, conteneur)
  obj.methode();

tout simplement. tongue


Et je te signale que si tu utilises un objet conteneur, le vrai contenu sera toujours sur le tas, même quand l'objet conteneur est sur la pile.
squalyl (./165) :
écrire std::vector grin

Ou utiliser using std::vector; ou carrément using namespace std; (pour les gros porcs paresseux grin).
Folco (./172) :
Bon, j'ai lu la doc de Qt pour les signaux et slots... Je me doutais bien que ça exigeait de marcher avec des QOBECTS partout, que ça nécessitait de compiler avec qmake etc...Donc exit.

Pas du tout obligé d'utiliser qmake, tu peux aussi utiliser CMake (que tu as de toute façon intérêt à utiliser pour n'importe quel projet non-trivial!) ou appeler moc-qt4 directement dans tes makefiles ou scripts de compilation. Tant que tu appelles le MOC, tout va bien, peu importe comment tu l'appelles.