Bonjour,
Petit souci certainement basique avec les pointeurs intelligents.
Sans pointeurs intelligents, j'ai ça :
Avec pointeurs intelligent, je fais comment ?? Parce que finalement, Array(this), this devrait être un weak_ptr, sinon, on a un problème de référence cyclique non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class A { Array *array; public: A(){ array = new Array[N]; for(unsigned int i = 0 ; i < N ; i++) array[i] = Array(this); } };
Je veux dire, si j'utilise un shared_ptr<A> pour chaque Array, comme j'ai de l'autre côté un shared_array<Array> ça ne marchera pas, non ?
Et inversement, si je veux un weak_ptr<A> pour chaque Array, il me faut un shared_ptr<A> à la base ? Or celui-ci devrait être créé en amont, en dehors du constructeur A.
Bref. Un peu perdu sur ces questions.
Merci!
Partager