IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Optimisation du code


Sujet :

Langage C++

  1. #1
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Par défaut Optimisation du code
    Je suis actuellement en phase de modélisation sur un projet.
    Ayant résonner objet de bout en bout, je me pose la question sur la pertinence d'avoir modéliser certaines notions sous forme d'objet plutôt que sous forme de structure par rapport à l'optimisation du code.

    Si l'on prend l'exemple suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class A
    {
        private int value;
     
        public int getValue();
        public void setValue(int value);
    }
    On veut affecter la valeur 50 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A example;
    example.setValue(50);
    Est ce que le code sera aussi optimisé qu'une modélisation sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct A
    {
         int value;
    }
     
    struct A example;
    example.value = 50;
    Merci pour vos réponses !!!

  2. #2
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Dans le cas présenté,
    Je me limiterai à utiliser un int simple (ou un typedef int), mais je suppose que la class A est une version tres simplifié de ta classe réelle.

  3. #3
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Par défaut
    Effectivement c'est un exemple simplifié, sinon j'aurai utilisé un type simple également :-)

  4. #4
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    C'est plus une question de conception... Si t'as besoin d'avoir des accesseurs / mutateurs comme ça alors oui laisse la donnée publique c'est du pareil au même. (tu brises l'encapsulation etc etc)

  5. #5
    Membre averti
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Par défaut
    Pour moi il y'a dune différence entre exposer des accesseurs et rendre la donnée publique?

    Je préférerai effectivement éviter de déclarer des données publiques mais je me pose la question de l'optimisation, à savoir est-ce que le compilateur est assez intelligent de squizzer lors de la compilation un appel de fonction (qui prend des ressources) par une simple affectation ...

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par mickagame Voir le message
    Pour moi il y'a dune différence entre exposer des accesseurs et rendre la donnée publique?

    Je préférerai effectivement éviter de déclarer des données publiques mais je me pose la question de l'optimisation, à savoir est-ce que le compilateur est assez intelligent de squizzer lors de la compilation un appel de fonction (qui prend des ressources) par une simple affectation ...
    Il l'est. Il est même assez intelligent pour le faire sans que tu lui demande en fait (sauf en mode debug, pour des raisons évidentes de lisibilité du debuggage).
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  7. #7
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par défaut
    Que pensez vous de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class A {
    public:
        int const& value() const { return _value; }
        int& value(){ return _value; }
    private:
       int _value;
    };
    Ca ne laisse pas autant de liberté sur l'implémentation que get/set, mais ça permet tout de même de changer en partie l'implémentation interne de la classe (regrouper plusieurs membre dans un objet par exemple)

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo