Je bloque un peu sur mon apprentissage.
J'ai implementé une fonction qui ne fait rien d'autre qu'un placement new (juste un return). voici la méthode
Et je voudrai appeler ma fonction pour remplacer la ligne avec le new(la ligne commentée).Le problème c'est que je ne sais pas comment faire l'appel de ma fonction dans ce genre de cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 template<typename T> T* CustomNew(T** const i_ptr, const T& Val) { return new ((void*)*i_ptr) T(Val); //return new (*i_ptr) T(Val); }
SVP je voiudrai juste savoir comment donner les parametres de ma fonction en locurence le second parametre. En gros, comment la nouvelle ligne devrait être écrite svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 T* ptr(nullptr); T *amm = nullptr; for (i = 0; i < n; ++i) { auto* ptri = amm + i; ptr = CustomNew<T>(&ptri, T()); //nouvelle ligne //ptr = new (ptri) T(); //ancienne ligne }
Merci d'avance
Partager