Class [C++] - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 35 sur 35

Class [C++]



  1. #31
    Dlzlogic

    Re : Class [C++]


    ------

    Bonjour,

    Si on écrit *this = machin.x, à mon avis on réécrit la première valeurs de la classe, et c'est tout. Et dans le cas présent, ça sert à rien, c'est comme si on écrit a=a;
    Mais à mon avis les valeurs suivantes de la classe ne seront jamais atteinte de cette façon là.
    Le constructeur de copie est automatique avec mon compilateur. Je parie qu'il est fait à peu près comme cela :
    Classe_Machin(Classe_Machin &source)
    {
    memcpy(this, source, sizeof(this));
    }
    Ca coute pas cher à faire automatiquement, mais, je ne suis pas sûr que je m'en sois servi une seule fois.
    Si un constructeur de copie prend une référence, je ne pense pas que ça ait le moindre rapport avec la gestion économique de la mémoire.

    Par ailleurs, je me demande qu'il n'y a pas une ambiguïté avec le caractère '*'.

    -----

  2. #32
    Paraboloide_Hyperbolique

    Re : Class [C++]

    Bonsoir,

    Il faut faire attention avec le constructeur de copie par défaut:

    1) "Cela ne coûte pas cher": pas forcément. Si votre classe contient un tableau statique de 20 Mb (typiquement une image bitmap), de multiples copies peuvent coûter très cher.
    2) Si je ne me trompe pas, si votre classe contient un/des pointeurs, seul les adresses des pointeurs sont copiées (pas les données vers lesquelles ils pointent). Dans ce cas, la copie est économique. Par contre, si l'objet qui
    a initialisé ces pointeurs appelle son destructeur*, tous les autres objets qui sont copies de celui-ci auront leurs pointeurs pointant vers une zone mémoire qui aura été effacée...

    En C++ (pas en java si mes souvenirs sont bons), le destructeur par défaut d'une classe ne libère pas la mémoire pointée par les pointeurs. Vous devez explicitement coder cela, sinon vous aurez une fuite mémoire potentielle.

  3. #33
    Dlzlogic

    Re : Class [C++]

    Bonjour Paraboloide...
    C'est un vieux sujet, et je ne cois pas que le demandeur se soit manifesté.
    J'ai parlé du constructeur de copie par défaut, parce que je sais que ça existe, mais je ne m'en suis jamais servi.
    Mon expression "ça coute pas cher", c'était pour l'éditeur du compilateur, pas pour le développeur. De la même façon, si j'ai des choses à détruire, j'écris un destructeur.
    Mais c'est malheureusement la tendance actuelle, le C++ est devenu un langage de haut niveau. En ce qui me concerne, je n'utilise du C++ que les notions de classes. Par exemple j'utilise toujours les bons vieux fopen, fprintf, fgets.

  4. #34
    Paraboloide_Hyperbolique

    Re : Class [C++]

    Bonjour,

    Ok. Je dois avouer que j'ai aussi tendance à utiliser certaines fonctions du C quand je code...

  5. #35
    Dlzlogic

    Re : Class [C++]

    Quand j'ai eu la version C++, j'ai été très consciencieux, je lu toute la doc pour voir ce qu'il y avait de différent avec le C.
    J'ai tout de suite été convaincu par les notions de classes, puis j'ai commencé à regarder les nouvelles classes, en commençant par iostream. Quand j'ai vu la complication pour décrire les formats, j'ai pas été plus loin.
    Maintenant, j'utilise la VCL, et à part un peu de TList et un peu d'AnsiString, c'est toujours du C.
    Par contre, j'utilise les composants de la VCL.
    Mais j'ai pas honte du tout, au contraire, j'ai eu l'occasion de faire des tests. Par ailleurs, l'avantage, c'est que quand on regarde une fonction qu'on a écrite il y a 15 ans, on n'a pas à chercher, on comprend tout de suite. Pour moi, l'informatique, c'est comme les math, c'est pas un but, c'est un outil.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. uml diagramme de class
    Par invitef60b1661 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 30/03/2011, 14h33
  2. Appel de class
    Par bird12358 dans le forum Logiciel - Software - Open Source
    Réponses: 17
    Dernier message: 22/02/2010, 09h45
  3. C++ et class
    Par bird12358 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 14/02/2010, 22h06
  4. class factory
    Par invite57bafb2c dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 28/11/2003, 18h19