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 :

C++ vs C [Débat]


Sujet :

C++

  1. #41
    Membre averti
    Avatar de rolkA
    Inscrit en
    Juillet 2003
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 324
    Points : 369
    Points
    369
    Par défaut
    Citation Envoyé par Caine
    Bonjour,

    Les vectors sont utiles quand on veut une donée extensible facilement et sûre, avec les mêmes performances d'accés et simpliciter d'ecriture qu'un tableau.

    Cependant, même si la taille est statique, il est intéressant de passer par la classe vector, pour les opérations de recherche...

    Mias, on ne dévie pas un peu du sujet là
    A ce sujet, boost::array permet d'avoir les avantages d'un vector pour un tableau de taille fixe, tout en étant plus rapide puisque le redimensionnement n'est pas géré
    Un historique local pour Visual Studio 2005 et 2008 :
    http://www.codeplex.com/VLH2005
      0  0

  2. #42
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Il n'y a absolument aucun algorithme que l'on ne peut résoudre que en programmation orientée objet.
    Une machine de turing peut résoudre n'importe quel algorithme.
    ps: une machine de turing est séquentielle.
      0  0

  3. #43
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    qlq'un connaitrait il un exemple d'algorithme qui ne pourrait etre resolu qu'en programmation OO (ou alors tres difficilement par un autre type de programmation)?
    Normalement le concept objet et d'orienter la programmation autour des données ,ce qui fait que les donnés sont reutlisables pour des traitements differents .Tu pourraiias aussi ecrire du code c a l'interieur du c++:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    extern "c"{
    declarations en c
    }
      0  0

  4. #44
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par boulde
    si j'ai bien compris en C++ les références permettent de simplifier l'utilisation des pointeurs, pas besoin de se demander si c'est un pointeur ou pas:
    &double fonction( int &a, char &name) ???
    mais je me suis toujours pas décidé a remplacer mes * par des & ...
    Au contraire, les références nuisent à la lisibilité du code: tu lis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cout << a.b;
    fonction(a);
    cout << a.b; // ?? a.b vient de changer? C'est pourtant pas un pointeur!!
    Et si tu lis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf("%08X", a.b); // PS: comment on fait de l'hexa sur 8 chiffres avec cout ?
    fonction(&a);        //Ah, un pointeur. S'il n'est pas const, il pourrait bien modifier...
    printf("%08X", a.b); //Ah, ben oui il modifie...
    Pour moi, les références, c'est à n'utiliser que là où les pointeurs ne marchent pas : Les surcharges d'opérateurs, par exemple (et encore, attention aux plaisantins qui s'amusent à modifier une valeur qu'on ne s'attend pas à ce que l'op modifie...

    Mais les références mises à part, le C++ est plein d'avantages. La facilité de programmation orientée objet est bien utile.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
      0  0

  5. #45
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Personnellement je trouve que les références rendent le code plus facile à lire.

    Mais elles sont là surtout pour empécher de passer des pointeurs nuls. Finis la programmation défensive à outrance sur (pointeur != NULL).
      0  0

  6. #46
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par Médinoc
    Au contraire, les références nuisent à la lisibilité du code: tu lis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cout << a.b;
    fonction(a);
    cout << a.b; // ?? a.b vient de changer? C'est pourtant pas un pointeur!!
    Quand je lis ceci, je trouve que des baffes se perdent. On n'appelle pas une fonction "fonction". Plus sérieusement, bien que cela soit la même idée, il est bon que le rôle de la fonction, et/ou ce qu'elle va faire de ses paramètres, transparaisse dans son nom. Au pire dans tous les cas, c'est documenté.

    Et puis on n'appelle pas une fonction sans savoir ce qu'elle fait, non ? Si dans la signature j'ai une référence non constante, je sais que le paramètre en en [out], voire [in,out]. Mais certainement pas en [in]. Et quand ce n'est pas le cas, j'ai tendance à faire savoir que c'est n'importe quoi et je remets les consts oubliés.

    En général, j'ai des pointeurs bruts quand la sémantique des opérations mises en oeuvre le requiert.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
      0  1

  7. #47
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par Luc Hermitte
    Et puis on n'appelle pas une fonction sans savoir ce qu'elle fait, non ?
    J'ai jamais dit que c'était moi qui l'appelais... Quand tu regardes le code d'un autre et que tu essaies de le comprendre (surtout s'il n'est pas assez commenté) C'est pas évident...

    (quant à la signature de fonction, on n'a pas toujours une IDE qui l'affiche...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
      0  0

  8. #48
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    C'était un exemple je pense . Vu que souvent les fonctions sont mal nommées ça se défend. Si les pointeurs pouvaient lever l'ambiguité, ce serait un plus. Si ils pouvaient... Car ton argumentaire ne tient pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fonction(&a);        //Ah, un pointeur. S'il n'est pas const, il pourrait bien modifier...
    il pourrait, mais on n'en sait rien, strictement rien. Pour être fixé, il faut aller regarder le prototype de fonction, si c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void fonction( const A * );
    alors c'est pas modifié, si c'est
    alors c'est certainement modifié. Et avec les références, c'est exactement la même chose. Si c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void fonction( const A & );
    alors c'est pas modifié, si c'est
    alors c'est certainement modifié.
    Donc les référence peuvent peut être dissimuler la modification d'une variable (si le nom de la fonction est mal choisi etc...), mais les pointeurs à l'inverse font systématiquement penser que la variable est modifiée. Donc faut pas se fier à ça pour déterminer si une var est modifiée ou non.
      0  0

  9. #49
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En effet, il ne faut pas forcément s'y fier. Mais le & encourage à regarder le prototype, alors que quand on vient comme moi du C, on n'a pas encore forcément le réflexe de se dire "mince, ça pourrait bien être une référence, donc j'ai intéret à regarder".
    Quand en C, on regarde le code d'un autre avec des tas de fonctions, on n'a pas toujours le temps de faire ça...

    Enfin, c'est un réflexe supplémentaire à prendre. C'est toujours mieux que "int &b = a" (l'esprit humain a tendance à interpréter le code en "assume no aliasing"). On finit par s'y retrouver, mais je trouve les pointeurs plus explicites (malgré leur inconvénient de pouvoir être NULL en paramètre).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
      0  0

  10. #50
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    on n'a pas encore forcément le réflexe de se dire "mince, ça pourrait bien être une référence, donc j'ai intéret à regarder".
    Oui je comprend, je pensais ça aussi fut un temps. Maintenant je me dis que c'est pas sur ce mécanisme qu'il faut s'appuyer, mais sur des commentaires / choix judicieux de noms. En tous cas, je me souviens pas d'avoir été piégé à ce niveau. Par contre les pointeurs erronés...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // initialiser A
    A a;
    if ( !read_from_config_file( a ) )
    {
        // erreur
    }
     
    // afficher
    print_infos( a );
    ce genre de code parle de lui même je pense. Si print_infos a un effet de bord et modifie a, c'est que c'est mal fichu. Avec ce code:
    si tu as le réflexe d'aller voir le prototype de print_infos, je comprends pas pourquoi tu ne l'as pas avec la version sans pointeur.
      0  0

  11. #51
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    +1 à la réponse d'Aurélien. Dans tous les cas il doit (*) y avoir des "const". Qu'il s'agisse de pointeur ou de référence.

    En ce qui me concerne, les passages de paramètres se font par :
    - référence-constante : "gros" objet en lecture seule
    - référence : objet en lecture et/ou écriture
    - valeur : "petit" objet en lecture seule ET qui dispose qu'une sémantique de valeur en général, ou juste copiable parfois seulement. (je ne suis pas trop un adepte de l'optimisation systématique proposée par H.Sutter et A.Alexandrescu dans leur bouquin de qualité)
    - pointeur (brut ou intelligent) : pour les paramètres optionnels ou qui sont vraiment des pointeurs dont la responsabilité doit migrée ou être partagée.

    Je peux aussi garder des pointeurs quant il s'agit de référencer des objets dont on veut s'assurer que la durée de vie exède celle du référant.

    (*) Et quant ils ne sont pas explicites, on perd une après-midi à rendre const-correct ce qui ne l'est pas -- largement récompensé, AMHA, par les doutes et les traques de bugs qui nous seront épargnés.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
      0  0

  12. #52
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Bonjour

    Avec énormément de retard sur la discution, juste pour réagir à ceci :

    Sinon en codant en C ou C++ avec des bibliothèques portables, on arrive à faire fonctionner un executable sur autant de plate-formes que Java
    Oui mais cela nécessite une recompilation. En java non.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
      0  0

  13. #53
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par hegros
    Oui mais cela nécessite une recompilation. En java non.
    Ah, que fait la JVM ? :-)
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
      0  0

  14. #54
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Citation Envoyé par hegros
    Oui mais cela nécessite une recompilation. En java non.
    Ah, que fait la JVM ? :-)
    Ca me semble plus souple pour le developpement.
    De plus elle interprete du code ce n'est qu'après qu'elle le compile et une seule fois biensur.

    M'enfin y'a du pour et du contre comme toujours je suppose
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
      0  0

  15. #55
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par hegros
    Citation Envoyé par Jean-Marc.Bourguet
    Citation Envoyé par hegros
    Oui mais cela nécessite une recompilation. En java non.
    Ah, que fait la JVM ? :-)
    Ca me semble plus souple pour le developpement.
    De plus elle interprete du code ce n'est qu'après qu'elle le compile et une seule fois biensur.
    Quoi ?

    Un programme écrit en C/C++ doit être recompilé pour marcher sur une autre plate-forme. Mais cela peut-être fait simplement par exécution d'un makefile... En ce point, ça ne difère pas beaucoup de la JVM, simplement un temps d'attente et puis après c'est parti (et pas besoin de recompiler à chaque fois).
    Non, je trouve que si on peut qualifier le java de "portable", alors le C/C++ a aussi droit à cette dénomination.

    Par contre, il est vrai qu'il y a des différences de vitesse (parfois négligeables) entre le C/C++ et le java, et qu'elles existeront toujours (le java est trop éloigné du système, notament avec les pointeurs qui sont (mal) camouflés (mais on peut faire la même remarque pour les références en C++)).
      0  0

  16. #56
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par remram44
    Non, je trouve que si on peut qualifier le java de "portable", alors le C/C++ a aussi droit à cette dénomination.
    On parle de portabilité au niveau des sources, je trouve que ça reflète bien la chose.
      0  0

  17. #57
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    slt,
    Je reprendra ce qui a été pour plus d'emphase, Tu peux écrire oo en C.

    En n'oublies pas Java bien et C tant mieux
      0  0

  18. #58
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Citation Envoyé par remram44
    Non, je trouve que si on peut qualifier le java de "portable", alors le C/C++ a aussi droit à cette dénomination.
    La JVM est standard. Le C/C++ peut l'être également, mais assez souvent on se retrouve face à un makefile qui déconne parce que :
    - pas le même compilo
    - librairies pas standard utilisées dans le programme à compiler
    - non respect de la norme (à mettre en rapport avec "pas le même compilo")
    ...

    Bref, le java est certainement plus portable que le C/C++, parce qu'il y a quand même un nombre non négligeable de programmeurs qui font plus ou moins n'importe quoi ou se moquent de la portabilité de leur code.
      0  0

  19. #59
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    C'est sûr que l'avantage du Java, c'est que ça tourne sur n'importe quoi - il faut juste toute la JVM pour être sûr, ce qui n'est pas le cas sur nombre d'implémentations - et il existe même des processeurs qui traitent directement le byte code Java.
    Mais dire que le C/C++ n'est pas portable...
    Java est portable, mais l'inconvénient majeur, c'est que c'est Java qui fait le pont entre les différents systèmes quand c'est au programmeur de le faire en C/C++ - GUI, réseau, thread, ... -, ce qui fait que même si Java était compilé comme le C/C++, il serait plus lent.
      0  0

  20. #60
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par davcha
    La JVM est standard.
    Non, il y a un monopole de sun et une spécification dont ils sont les seuls maitres. Ce devient beaucoup plus facile pour mettre tout le monde d'accord.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Le C/C++ peut l'être également, mais assez souvent on se retrouve face à un makefile qui déconne parce que :
    - pas le même compilo
    aap, bjam, scons, etc sont nos amis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - librairies pas standard utilisées dans le programme à compiler
    Ca quand les gens se fichent du portable, ou sont mal éduqués, on n'y peut rien. Et Java n'est pas épargné non plus. Cf ce qui s'était passé avec OOo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - non respect de la norme (à mettre en rapport avec "pas le même compilo")
    Il faut mettre à jour ses compilos. De la même façon, un code qui utilise les générics ne fonctionnera pas en Java 1.4


    Le troll initial ce n'était pas C vs C++ ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
      0  0

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