t'as tour compris.
par contre contrairement à irmaden, je pense que QVector est plus adapter.
Ainsi, ajouter une element peut se faire par une resize. Tu peut reserver la memoire par un reserve ect, etc
t'as tour compris.
par contre contrairement à irmaden, je pense que QVector est plus adapter.
Ainsi, ajouter une element peut se faire par une resize. Tu peut reserver la memoire par un reserve ect, etc
juste une derniere question :
Menus[i][j].append(new QAction((nom),this));
est-ce une syntaxe correcte pour ajouter mes Actions ?
Mon projet compile mais à l'exécution une erreur de debut index out of range, ce qui veut dire que je cherche un truc qui n'existe pas . Cependant, la fenetre de débug me précise que l'erreur correspond à une "ASSERT FAILURE" dans le fichier
tools/qlist.h à la ligne 392. J'ai regardé le fichier .h mais bon c'est pas évident, tu aurais une idée du soucis ?? Car mon algo est juste lol j'en suis sur !!
bon je te donne mon code, j'ai essayé de le commenter au fur et a mesure, mais j'ai pas du tout préciser donc si tu as un soucis de compréhension hésite pas. La partie problématique se trouve dans la fonction parcours.
tu voulais faire quoi ici????
Code : Sélectionner tout - Visualiser dans une fenêtre à part i,j,k=0;
bah initialiser mes variables pour faire des append au bons endroits (Menus[i][j][k].append........) => pour mon premier menu il faut que i j et k soient a 0 sinon j'ajoute des éléments n'importe ou
héhé
essaie
le , est un peu comme un ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part i = j = k = 0;
oula merci beaucoup j'aurais jamais trouvé sa tout seul ^^ !!
Encore merci !
un dernier point. pour rendre ton code plus lisible, regarde thread
http://www.developpez.net/forums/sho...d.php?t=480142
pourquoi i,j et k ne sont initialisé dans le createur?
parce que j'ai pas pense ^^ mais c'est mieux. Oui pour la lisibilité faudra que je renomme toutes ce variables.
Bref en tout cas merci beaucoup !!
Gaffe, une QList n'est pas une liste chaînée qu'elle soit simple ou double. Or, std::list est une liste doublement chaînée.
Donc, je maintiens ma position. Les différences que j'ai données sont les seules entre QVector et QList (!= QLinkedList à laquelle je suppose que tu penses réellement).
C'est en effet un trait commun aux 2 (la non contiguité). Mais la ressemblance s'arrête là.
De façon vraiment simplifiée (pour vraiment savoir ce qu'il en est, je vous renvoie vers des références sur l'algorithmie):
- Dans une liste doublement chaînée (std::list et QLinkedList), ce sont les noeuds qui savent à quel éléments ils sont liés. Le conteneur en lui même n'a aucune idée de l'ensemble; c'est pour ça que des fonctions telle size() tourne en O(n) => le conteneur doit parcourir l'ensemble de la liste
- pour faire très simple, QList<T> == QVector<T*>. Lors d'une réallocation le coup reste minime puisqu'au lieu de copier les instances de T, on copie des instances de T*, donc un type garanti primitif.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager