OVH Cloud OVH Cloud

Exception dans les paramètres d'un constructeur

24 réponses
Avatar
Marc G
Je m'explique
j'ai un code du genre

X * une_fontion(void)
{
try {
return new X( f());
}
catch(...)
{
return new X();
}
}

Ma question : si f() lance une exception, est-ce que j'ai un problème de
perte de mémoire ?
je pense que les paramètres du constructeur sont évalués avant "l'appel"
proprement dit du constructeur et que l'allocation mémoire n'est pas
réalisée lorsque l'exception est levée. Mais je préfère avoir l'avis
d'experts :-)
Merci à ceux qui ne sont pas en vacances.
Marc

4 réponses

1 2 3
Avatar
Alain Gaillard
C'est toi qui m'a posé la question avec une question qui renvoie un
pointeur alloué avec new,


En aucun cas. Apprend à lire ou à écrire. Il était question de se
soucier de la portée de "truc" pas de ce qui est renvoyé par new X.
Je n'ai jamais dit que return new X était bien. J'ai SEULEMENT parlé de
découper en séquence avant. Rien d'autre.

ce qui constitue une horreur innommable.


Certes. Mais cela ne concerne en RIEN le point de départ de la
discussion que tu as toi même lancée sur le souci qu'il faut avoir sur
la portée de "truc". Tu as dis une connerie et c'est
tout. Et maintenant tu noies le poisson, comme si on avait pas vu :)
Ou alors si tu as réellement voulu parler de la durée de vie de ce qui
est retourné par new X(... sache qu'avant de m'écrire des cours sur le
C++ dont je n'ai nul besoin, tu devrais apprendre à écrire
tout simplement. Et aussi à respecter les autres sur les newsgroups ça
te fera pas de mal.


bye
Là faut vraiment que je sorte, faut pas que je me laisse aller à faire
du hors sujet pas aimable du tout

->[]


--
Alain

Avatar
Mathias Gaunard

sache qu'avant de m'écrire des cours sur le
C++ dont je n'ai nul besoin, tu devrais apprendre à écrire
tout simplement.


Il est fort mesquin de me critiquer parce que j'ai fait une répétition
en écrivant un mot à la place d'un autre lors d'une rédaction rapide
d'un message à une heure tardive.
De plus, il est apparent que mon expression est bien plus riche et
soutenue que la tienne ; sans mentionner le fait que mes messages
contiennent un contenu relativement important et nécessitant une
certaine réflexion comparés aux tiens, ce qui rend la chose encore plus
ridicule.

Je suppose donc qu'il est inutile de vouloir discuter avec de tels
individus.
C'est marrant, ce genre de phénomène est assez récurrent sur les groupes
francophones.

Avatar
Christophe Lephay
"Mathias Gaunard" a écrit dans le message de news:
46d8283e$0$24945$
Je suppose donc qu'il est inutile de vouloir discuter avec de tels
individus.


C'est pas une question d'individus, mais de circonstance. Il arrive que,
d'escalade en escalade, ça finisse par déraper. Dans la plupart des cas,
c'est de la responsabilité des deux interlocuteurs et, dans le fond, la
faute à aucun des deux.

C'est marrant, ce genre de phénomène est assez récurrent sur les groupes
francophones.


Je trouve ce phénomène assez récurrent sur *tous* les groupes, parfois moins
sur certains groupes que d'autres lorsqu'ils s'y trouvent des gens dont
l'autorité sur le sujet est unanimement reconnue et qui y exercent une
action naturellement modératrice.

Avatar
Alain Gaillard
Il est fort mesquin de me critiquer


Regarde ton premier post dans cette discussion et si tu es objectif, tu
verras que ceci a sans doute entraîné cela. Je t'ai moi même trouvé
fort mesquin. Et si tu regardes bien j'ai adopté la même attitude que
toi finalement.


soutenue que la tienne ; sans mentionner le fait que mes messages
contiennent un contenu relativement important et nécessitant une
certaine réflexion


Sans aucun doute. Mais sans rapport avec la question initiale.

Je suppose donc qu'il est inutile de vouloir discuter avec de tels
individus.


Et bien c'est exactement pensé lorsque j'ai quitté la discussion.

C'est marrant, ce genre de phénomène est assez récurrent sur les
groupes francophones.


C'est ma foi vrai. C'est très français de faire un complexe de
supériorité et d'adopter un ton professoral comme tu l'as fait, sous
prétexte de comprendre un peu de C++. Et franchement là je méprise, et
pas qu'un peu je dois dire. Très certainement, je te reconnais une
vraie valeur en C++. Toi tu m'as pris de très haut sans, je pense, me
connaître. Il est vrai que je ne viens pas souvent sur ce groupe, faute
de temps. Discuter dans un respect mutuel c'est intéressant, mais je n'ai
pas trouvé que c'était le cas là. Relis la discussion et regarde qui a
tiré le premier. Bon en ce qui me concerne l'incident est clos. Nous
aurons sans doute l'occasion de discuter plus sainement et agréablement
une autre fois.


--
Alain

1 2 3