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

 C Discussion :

Données 'publiques' vs données transmises entre fonctions


Sujet :

C

  1. #1
    Membre du Club Avatar de Array
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 210
    Points : 55
    Points
    55
    Par défaut Données 'publiques' vs données transmises entre fonctions
    Bonjour,

    Je fais un programme qui comporte beaucoup de données sur les dimensions de fenêtres dont il est le propriétaire. Le problème, c'est que si une fenêtre particulière est redimensionnée, plusieurs fonctions doivent redimeensionner les autres fenêtres.

    Il serait donc plus facile de faire une méga structure externe ou je stockerais toutes les données relatives aux fenêtres.
    Cependant, ce concept se rapproche plus de la programmation orientée objet (oop) que de la programmaton impérative.
    Or, j'ai entendu dire que la programmation objet (e.g. C++) donne des programmes plus lents que des programmes codés avec un language impératif (e.g. C).
    Donc, je voudrais savoir si c'est vrai ou... faux (duh!), et pourquoi?

    J'aurais tendance à croire que des données transmises de fonction en fonction devraient être plus lentes, parce qu'à chaque appel, on crée des variables pour contenir les arguments et on doit les initialiser, alors que les données 'publiques' (i.e. accessibles par les autres fonctions, c'est-à-dire des variables externes) ne sont pas crées à chaque appel ni initialisées...

    Merci!

    Cordialement,

    Array

    P.S. Je parle vraiment de vitesse ici, et je me moque de la facilité avec laquelle le programme peut-être mis à jour.

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Salut,
    Citation Envoyé par Array Voir le message
    Il serait donc plus facile de faire une méga structure externe ou je stockerais toutes les données relatives aux fenêtres.
    Cependant, ce concept se rapproche plus de la programmation orientée objet (oop) que de la programmaton impérative.
    Ou une liste chainee de structures fenetre, ca serait beaucoup plus souple et aussi plus simple a gerer qu'une grosse structure Mais dans un cas comme dans l'autre, avoir des structure n'implique pas la poo (objet, c'est plutot a mon avis utiliser les notions d'heritage, de methodes, etc...)
    Citation Envoyé par Array Voir le message
    Or, j'ai entendu dire que la programmation objet (e.g. C++) donne des programmes plus lents que des programmes codés avec un language impératif (e.g. C).
    Donc, je voudrais savoir si c'est vrai ou... faux (duh!), et pourquoi?
    Un bon programme en C++ sera toujours plus rapide qu'un mauvais en C Et s'il y a vraiment une difference non due a la competence du codeur dans certains cas particuliers (ce qui reste a prouver) elle doit etre de quelques cycles d'horloges au max. Je vois mal l'influence sur une interface graphique qui peut se permettre une latence de quelques ms.
    Citation Envoyé par Array Voir le message
    J'aurais tendance à croire que des données transmises de fonction en fonction devraient être plus lentes, parce qu'à chaque appel, on crée des variables pour contenir les arguments et on doit les initialiser,
    Si tu transmet une copie de la variable oui. Mais tu peux passer l'adresse.
    Citation Envoyé par Array Voir le message
    alors que les données 'publiques' (i.e. accessibles par les autres fonctions, c'est-à-dire des variables externes) ne sont pas crées à chaque appel ni initialisées...
    Ca depend si tu passes ta variable par reference ou par valeur.

    Sans connaitre ton programme ou ton interface, je te conseillerais une liste chainees de fenetre avec les coordonnees et les dimensions, avec seulement l'adresse de la premiere fenetre comme variable globale plutot qu'une "mega structure" publique.

Discussions similaires

  1. Plugin échange de données entre fonctions
    Par grunk dans le forum jQuery
    Réponses: 3
    Dernier message: 10/03/2010, 20h50
  2. Mesurer quantité de données transmises entre 1 serveur et un client ?
    Par Yogy dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 02/03/2010, 13h02
  3. Partage de données entre fonctions
    Par 13mike dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2007, 11h46
  4. Réponses: 2
    Dernier message: 21/10/2006, 17h27
  5. [Données]Passer des données entre applet et Servlet
    Par CheryBen dans le forum Applets
    Réponses: 11
    Dernier message: 16/09/2005, 13h48

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