Reférence sur un objet supprimé
Bonjour,
Dans ce code mon compilo ne me dit rien alors qu'il devrait m'interdire cette manière?!
Je stocke les références d'objets temporaire dans une liste.
Mission.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include "Date.h"
#include "Time.h"
class Mission {
public:
Mission( const Date& date, const Time& time ) : date( date ),
time( time ) {
}
private:
const Date& date;
const Time& time;
}; |
main.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include "Mission.h"
#include <list>
int main()
{
std::list < Mission > mission;
if( 1 ) {
Date date( 1, 1, 2000 );
Time time( 2, 30 );
mission.push_back( Mission( date, time ));//Nouvelle mission avec les adresses de date et time
}//Les instances Time et Date sont censées ce détruire ici ?!
return 0;
} |
Les références "sauvegardent" t-elles les objets en mémoire ? (!!Les références évitent les copies!!??)
Ou bien mes références continuent d'exister le temps que leur emplacement en mémoire reste non modifié ?
Ou je ne sais quoi .. :calim2:
Merci d'avance !