Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

(Newbie) forcer la destruction d'un objet automatique

2 réponses
Avatar
meow
Bonjour,

Admettons que j'ai un besoin ponctuel d'un objet qui va me prendre
beaucoup de place et que je veux detruire d=E8s que je n'en ai plus
besoin :

int main () {
[..]
std::list<Facet> fl;

A=2Eget_alpha_shape_facets(std::back_inserter(fc),Alpha_shape_3::REGULAR);
std::cout<<"facettes reguli=E8res : "<< fc.size()<<std::endl;
//plus besoin de fl
[..]
}

Comment puis-je proprement detruire fl ?
Pour l'instant j'ai ins=E9r=E9 les trois lignes dans un bloc '{ ... }'
pour profiter de la destruction automatique en sortie de bloc, mais
j'ai l'impression que =E7a nuit =E0 la lisibilit=E9, d'autant que je n'ai
encore vu personne utiliser cette "astuce"...
J'ai pens=E9 utiliser new() et delete(), mais =E7a ne me parrait pas
propre car meme si la place de fc est lib=E9r=E9e il me restera quand
meme un pointeur fc inutile...

Quel conseil me donnez vous ?

2 réponses

Avatar
Jean-Marc Bourguet
"meow" writes:

Admettons que j'ai un besoin ponctuel d'un objet qui va me
prendre beaucoup de place et que je veux detruire dès que je n'en ai
plus besoin :
...

Quel conseil me donnez vous ?


Faire une fonction separee de ce traitement. En fait, c'est une bonne
idee de faire des fonctions pour chaque traitement, qu'ils aient
besoin ou non de variables prenant beaucoup de place.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
meow
A bien y réfléchir, c'est vrai que le fait d'encadrer un contexte
dans un bloc revient plus ou moins à simuler une execution dans un
contexte de fonction...

Merci pour cette réponse rapide.