Comment retourner un pointeur d'objet dans une struture
Bonjour à tous,
Je développe une dll contenant des classes et des objets.
Une fonction qui crée un objet dynamique doit retourner le pointeur de l'objet + autres info.
Voici la structure déclarée :
Code:
1 2 3 4 5
| typedef struct {
HSMixer G_Mixer;
HSSTREAM G_Source;
HANDLE G_Objet;
} WB_PLAYLIST; |
Puis la méthode de la classe qui doit retourner la structure en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
class Play_list {
private :
WB_PLAYLIST m_str_playlist;
....
public:
WB_PLAYLIST* Creer();
....
};
WB_PLAYLIST* Play_list::Creer() {
....
this->m_str_playlist.G_Mixer = this->m_mixer;
this->m_str_playlist.G_Source = this->m_source;
Play_list *const id_objet = this;
this->m_str_playlist.G_Objet = static_cast<HANDLE>(id_objet);
return &this->m_str_playlist;
} |
Dans la structure m_str_playlist je récupère bien les infos mixer et source que je souhaite mais dans id_objet j'ai un doute.
Je ne suis pas certain de récupérer le pointeur sur l'objet. Pour info, je récupère bien une valeur (ex:5726840) qui peut être une adresse.
Compte-tenu que mon niveau en C++ n'est pas très élevé, je vous sollicite une nouvelle fois pour me donner votre avis sur le code présenté.
L'utilisation qui est faite du static_cast permet elle de récupérer l'adr de l'objet ? Comment vérifier ?
Merci de votre aide précieuse.