Les gars que j'ai demandé il ya quelques jours a question et je n'ai pas vraiment eu le temps de le vérifier et d'y penser, mais maintenant j'ai essayé l'une des solutions et je n'arrive pas à comprendre pourquoi ça marche? Je veux dire, pourquoi est appelé à destructor la fin de la ligne comme celui-ci:Qu'est-ce qui détermine quand un destructeur est appelé pour un objet temporaire en C++?
#include "stdafx.h"
#include "coutn.h"
#define coutn coutn()
int _tmain(int argc, _TCHAR* argv[])
{
coutn << "Line one " << 1;//WHY DTOR IS CALLED HERE
coutn << "Line two " << " and some text.";
return 0;
}
Je suppose qu'il a quelque chose à voir avec la vie d'un objet, mais je ne sais pas quoi et comment. Quand j'y pense, deux objets sans nom sont créés, mais ils ne sortent pas du cadre, donc je ne peux pas comprendre pour quelle raison ils sont appelés.
Merci.
dépend entièrement de ce qui est dans 'coutn.h' et/ou' stdafx.h'. –
Le lien vous indique ce que contient 'coutn.h'. –
@Peter Alexander: Comment? C'est une question avec beaucoup de réponses; Il n'y a pas une seule référence à 'coutn.h' dans la page entière. –