Bonjour.

Je suis débutant en programmation / C++, et je me pose quelques questions...quand on envoi un pointeur d'objet à un autre objet, concrètement, ce qu'on envoi est:

une simple adresse concernant le début de l'objet en question, donc quelque chose de très légers ?
ou
une série d'adresse comprenant toutes les fonctions, attributs etc...de l'objet, donc plus lourd?

En somme, si j'ai un objet assez chargé en fonction et attributs, dont je n'ai besoin d'avoir accès qu'a quelques attributs/fonctions dans un autre objet, ais-je intérêt à'envoyer l'objet entier en pointeur, ou plutôt de me débrouiller autrement...?

ex:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
class ObjetLourd
{
public:
 
     ObjetLourd();
     ~ObjetLourd();
 
     ObjetX renvoiObjetX();
     ObjetY renvoiObjetY();
     etc...
     void faitUneChose(Truck truck, Bidul bidul, float machin);
     etc...
 
     bool renvoiSimple();
 
private:
 
    ObjetX m_objetX, m_objetX2 etc...;
    ObjetY m_objetY, m_objetY2 etc...;
    etc...
    Truck m_truck1 etc...
    Bidul m_bdul1 etc...  
 
    float m_machin, m_machin2, etc...
 
    bool m_simple;
 
    etc...
 
}
a suposé, donc que "ObjetLourd" soit un objet qui contienne lui même plein d'objet, fonctions etc...et que j'ai simplement besoin d'utiliser la fonction bool "renvoiSimple()" par un autre objet


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
 
class AutreObjet
{
 
public:
 
     AutreObjet();
     ~AutreObjet();
 
    void recoitObjetLourd(ObjetLourd *objetLourd)
    {
    m_objetLourd = objetLourd;
    }
 
    void utiliseObjet()
   {
       if(m_objetLourd->renvoiSimple() == true)
       {
           //fait quelqueChose...
       }
   }
 
 
 
private:
 
    ObjetLourd *m_objetLourd;
}

Si je procède ainsi, mon "AutreObjet" prendra-t-il des ressources en plus de facon concéquente ou pas? (même s'il n'utilise pas forcément de facon systématique le pointeur "ObjetLourd"...

Bref, ce n'est pas encore tout à fait clair pour moi, les pointeurs, voila pourquoi je viens vers vous au cas ou vous pourriez m'aider à y voir plus clair...


Merci