inline en c++ - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 35 sur 35

inline en c++



  1. #31
    Paraboloide_Hyperbolique

    Re : inline en c++


    ------

    Dans une certaine mesure oui...

    Le constructeur de copie généré par le compilateur effectue une copie bit à bit des données de la classe, en supposant que les variables de la classe gèrent eux-mêmes la mémoire qui est leur allouée. C'est le cas pour un std::vector par exemple, mais ce n'est pas le cas pour un pointeur.

    Dans le cas d'un pointeur, le constructeur de copie généré se contentera de copier le pointeur et non les données vers lesquelles il pourrait éventuellement pointer. Dans ce cas, il faut écrire explicitement un constructeur de copie pour gérer le pointeur.

    Le cas est similaire pour le destructeur généré. Dans le cas d'un pointeur, celui-ci est supprimé mais les données éventuelles vers lesquelles il pointe ne sont pas supprimées (ce qui génère alors une fuite mémoire).

    -----

  2. #32
    invitea7d8195d

    Re : inline en c++

    D'accord, avec votre réponse tout devient clair. Merci beaucoup.

  3. #33
    Jack
    Modérateur

    Re : inline en c++

    Citation Envoyé par mimi-mimi1 Voir le message
    Donc l'expression que j'essaie d'identifier est le constructeur avec paramètres de la classe.
    En l'occurrence, ce constructeur fait également office de constructeur par défaut puisque ses paramètres possèdent tout deux une valeur par défaut.

  4. #34
    invitea7d8195d

    Re : inline en c++

    Pour les méthode
    Code:
      inline std::vector<Real> & operator[](const std::size_t & i)
      {
        return data[i];
        }
    
    
    
     inline const std::vector<Real> & operator[](const std::size_t & i) const
      {
         return data[i];
        }
    elles utilisent toutes les deux une instance de type vector, et utilise comme argument un indice i, la première n'est pas constante, et la seconde est constante donc ne modifie pas l'objet. Normalement l'opérateur [] sert à avoir accés aux éléments de la matrices, ici on y a accés colonne par colonne d'après ce que je comprend. Ma question est: pourquoi avoir besoin de deux méthodes pour cet opérateurs? constante et non constante?
    Merci beaucoup.

  5. #35
    Jack
    Modérateur

    Re : inline en c++

    Je suppose que c'est pour pouvoir appliquer l'opérateur [] à tous les cas de figure: l'objet référencé peut être constant ou pas.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Ajouter Preprocessor pour snort inline
    Par invite7d169814 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 02/04/2010, 23h12