C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

stringstream dans un destructeur

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Sébastien Fraigneau
Guest





PostPosted: Tue Sep 07, 2004 10:06 am    Post subject: stringstream dans un destructeur Reply with quote



Bonjour,

En compilant ce programme sous VC6, j'ai une violation d'acces à la
fermeture du programme (pas d'exception levée, l'erreur est visible
seulement dans la fenêtre de debug de VC):
--------------------------------------------------
#include <sstream>

class Test
{
public:
~Test()
{
int unNombre = 123456;
std::stringstream str;
str << unNombre;
}

static Test& getInstance()
{
static Test s_test;
return s_test;
}
};

int main()
{
Test test;
Test::getInstance();
return 0;
}
--------------------------------------------------

Je n'ai pas de problème si unNombre est une chaine de caractère, ni si j'ai
ce genre de chose dans mon main :

int main()
{
Test::getInstance();
return 0;
}

ou

int main()
{
Test test1;
Test test2;
return 0;
}

ou encore

int main()
{
{
Test test;
Test::getInstance();
}
return 0;
}

Etrange ce comportement des stringstream, non ?


Back to top
Samuel Krempp
Guest





PostPosted: Wed Sep 08, 2004 5:52 pm    Post subject: Re: stringstream dans un destructeur Reply with quote



le Tuesday 07 September 2004 12:06, [email]bese_NO (AT) SPAM_noos (DOT) fr[/email] écrivit :

Quote:
int main()
{
Test test;
Test::getInstance();
return 0;
}
....
Etrange ce comportement des stringstream, non ?

C'est pas ça qu'il faut dire, mais plutôt :
"Etrange ce comportement de VC6, non ?"

Si tu as la possibilité de remplacer VC6 par un 7 avec toutes ses mises à
jour, tu obtiendras un comportement bcp plus proche de ce que dit la norme.
--
Sam

Back to top
Sébastien Fraigneau
Guest





PostPosted: Thu Sep 09, 2004 6:43 am    Post subject: Re: stringstream dans un destructeur Reply with quote



ah ben, ça me rassure. Je me doutais bien que c'était VC6 qui était en
cause. Je vais contourner le problème en attentant d'avoir un compilateur
plus récent.

Merci beaucoup.

"Samuel Krempp" <krempp (AT) crans (DOT) truc.en.trop.ens-cachan.fr> a écrit dans le
message de news:413f46d6$0$7608$636a15ce (AT) news (DOT) free.fr...
Quote:
le Tuesday 07 September 2004 12:06, [email]bese_NO (AT) SPAM_noos (DOT) fr[/email] écrivit :

int main()
{
Test test;
Test::getInstance();
return 0;
}
...
Etrange ce comportement des stringstream, non ?

C'est pas ça qu'il faut dire, mais plutôt :
"Etrange ce comportement de VC6, non ?"

Si tu as la possibilité de remplacer VC6 par un 7 avec toutes ses mises à
jour, tu obtiendras un comportement bcp plus proche de ce que dit la
norme.
--
Sam



Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.