debutant:en cpp il faut aussi un destructeur dans les structs ?

debutant:en cpp il faut aussi un destructeur dans les structs ? - C++ - Programmation

Marsh Posté le 26-10-2003 à 10:36:12    

dans cette exemple:
 
struct D3DAdapterInfo
{
    int AdapterOrdinal;
    D3DADAPTER_IDENTIFIER9 AdapterIdentifier;
    CArrayList* pDisplayModeList; // List of D3DDISPLAYMODEs
    CArrayList* pDeviceInfoList; // List of D3DDeviceInfo pointers
    ~D3DAdapterInfo( void );
};
 
donc par rapport a c il faut inclure le destructeur dans la declaration de la structure ?

Reply

Marsh Posté le 26-10-2003 à 10:36:12   

Reply

Marsh Posté le 26-10-2003 à 13:24:37    

Pourquoi utilises-tu un struc aulieu d'une class ?
 

Code :
  1. class D3DAdapterInfo
  2. {
  3. public:
  4.      D3DAdapterInfo():AdapterOrdinal(0)
  5.      {
  6.         pDisplayModeList = NULL;
  7.         pDeviceInfoList = NULL; 
  8.      }
  9.      virtual ~D3DAdapterInfo()
  10.      {
  11.         if(pDisplayModeList != NULL)
  12.             delete pDisplayModeList;
  13.        
  14.         if(pDeviceInfoList!= NULL)
  15.             delete pDeviceInfoList;
  16.      }
  17. protected:
  18.     int                        AdapterOrdinal;
  19.     D3DADAPTER_IDENTIFIER9     AdapterIdentifier;
  20.     CArrayList                 *pDisplayModeList; // List of D3DDISPLAYMODEs
  21.     CArrayList                 *pDeviceInfoList; // List of D3DDeviceInfo pointers
  22. };


Message édité par iS@mi le 26-10-2003 à 13:29:32
Reply

Marsh Posté le 26-10-2003 à 13:27:58    

Si ton destructeur n'est pas trivial oui il faut un destructeur.
 
Struct = Class
La seule diference c'est que dans une struct les membres par defaut sont public alors que ans une class il sont privée.


---------------
«Le succès consiste à aller d'échecs en échecs sans jamais perdre son enthousiasme» - Churchill
Reply

Marsh Posté le 26-10-2003 à 13:34:05    

fFluFf a écrit :

Si ton destructeur n'est pas trivial oui il faut un destructeur.
 
Struct = Class
La seule diference c'est que dans une struct les membres par defaut sont public alors que ans une class il sont privée.


 
Tu entends quoi par trivial, je n'ai jamais entendu ce terme  :??:  
 
Sinon, c'est qd même plus joli une class je trouve qu'une struct.
 
J'utilise la struct que dans le cas où je n'ai pas de pointeurs dans la struct et encore...
 
PS: niveau performence c'est la même chose ?

Reply

Marsh Posté le 26-10-2003 à 13:36:07    

iS@mi a écrit :


 
Tu entends quoi par trivial, je n'ai jamais entendu ce terme  :??:  


 
"kifaitrien"
 

iS@mi a écrit :


J'utilise la struct que dans le cas où je n'ai pas de pointeurs dans la struct et encore...


 
pour moi une struct c'est une regroupement de donnée
 

iS@mi a écrit :


PS: niveau performence c'est la même chose ?


 
Ke tu veux que ca change ?
 
 
 

Reply

Marsh Posté le 26-10-2003 à 13:40:01    

chrisbk a écrit :


"kifaitrien"


 
Rien compris !
 
 

chrisbk a écrit :


pour moi une struct c'est une regroupement de donnée


 
Au même titre que la class  qui est un objet qui regroupe des données :??:  :??:  :??:  
 

chrisbk a écrit :


Ke tu veux que ca change ?


 
Accès plus rapide aux données ou autre ???

Reply

Marsh Posté le 26-10-2003 à 13:41:53    

iS@mi a écrit :


 
Rien compris !
 


 
Figure 1 : trivial :

Code :
  1. truc::~truc()
  2. {
  3. }


 
 
Figure 2 : pas trivial :

Code :
  1. truc::~truc()
  2. {
  3. cout<<"Proot!";
  4. }


 
 

Citation :


Au même titre que la class  qui est un objet qui regroupe des données :??:  :??:  :??:


 
elle embarques des fonctions auusyte :O
Generalement je n'utilise que des inner-structs d'ailleurs [:aloy]
 

iS@mi a écrit :


Accès plus rapide aux données ou autre ???


Non. D'un point de vue code généré, c'est exactement la meme chose
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed