on va dire que pour le moment, ça marche, et si ça foire, je chercherai de ce coté là.
sinon je passe tout en pointeurs "comme java" et j'expliciterai les copies #bourrin#

La documentation de Qt dit qu'il ne faut surtout pas dériver d'un QObject sans mettre la macro Q_OBJECT, il y a des cas où ça peut foirer, par exemple le nom de classe donné par le système QMetaObject ne sera pas bon.
Cela dit, je l'ai fait aussi quelques fois et ça a marché... (M'en fous du nom de classe donné par QMetaObject.)
squalyl (./30) :C'estaussi ce que je faisait au début mais les fonctions QT utilisent massivement le passage par référence. Du coup, je me suis retrouvé dans des cas ou j'étais plus ou moins contraint de garder ce fonctionnement.
sinon je passe tout en pointeurs "comme java" et j'expliciterai les copies #bourrin#![]()
Uther (./36) :
Essaye d'utiliser intensivement les classes QList et QMap, tu vas forcément remarquer que ça utilise les références.
Sasume (./35) :
Je ne comprends pas : on ne remarque jamais le passage par référence en C++. Qu'est-ce que tu as voulu dire ?
class Foo { public: Foo(int &toto) : m_toto(toto); int use_toto() {return m_toto;} private: int &m_toto; }; Foo *pFoo; void foo() { int toto=42; pFoo = new Foo(toto); } int bar() { foo(); return pFoo->use_toto(); }
Kevin Kofler (./32) :
sans doûte
struct antenna { double dir; double antenna; }; class Cell { public: Cell(); void addAntenna(double dir, double span); .......... private: QList<struct antenna> antennas; .......... }; void Cell::addAntenna(double dir, double span) { struct antenna a; a.dir=thedir; a.span=thespan; antennas.add(a); }
Cell::Cell(const Cell &old) { antennas.clear(); for(int i=0;i<old.antennas.count();i++) { antennas.append(old.antennas.at(i)); } }
squalyl (./46) :Ha ca me rassure que je sois pas le seul a trouver la gestion des référence dans les QList pas intuitive du tout. Du coup on se retrouve a l'utiliser avec des pointeurs ce qui fait qu'il y a peu d'interêt par rapport a la STL qui a l'avantage d'être standard.
ouais.
en fait je me rends compte que j'ai des problèmes avec les références.
Justement, de qlist.
Vector v = new Vector(); v.add(3); ... // Vous voyez? ca a ajouté 3!!