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

Affichage des résultats du sondage: Au finale, pour vous, faut-il

Votants
124. Vous ne pouvez pas participer à ce sondage.
  • séparer le C et le C++

    54 43,55%
  • les unir

    10 8,06%
  • les unir mais savoir différencier les deux "styles de programmation"

    42 33,87%
  • non mais t'as rien compris

    25 20,16%
Sondage à choix multiple
C++ Discussion :

C et C++ mythe et realité


Sujet :

C++

  1. #101
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Si si il me semble.

  2. #102
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par MatRem
    Le c99 ne demande t il pas aussi de déclarer les variables en début de portée?
    Non, c'est justement une avancée du C99

    JolyLoic > C'est du C valide, mais pas du C++ valide ? C'est dû à quoi ?

  3. #103
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    En C++ il faut prédéclarer l'existence des types/structures/classes/fonctions/... avant de s'en servir dans une autre entité.

    Le C impose une sorte de "rétro-parsing" ?

  4. #104
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Miles
    Il y a quelques temps, le C++ était vraiment une surcouche du C car il respectait la norme C90. Maintenant, C99 est sorti, et donc il y a des nouveautés que le C++ n'a pas forcément et que le C a.
    http://nicolasj.developpez.com/articles/c99/ donne ces nouveautés
    Merci pour le lien. Je connaissait pas les Variable-Length Arrays. Y as bien une autre philosophie en C

  5. #105
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par JolyLoic
    Il a de tout temps existé des programmes C valides qui n'étaient pas valides en C++. Par exemple un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void f(void)
    {
      int i = g();
    }
     
    int g(void)
    {
      return 42;
    }
    Beaucoup plus courant, la conversion implicite de void * en n'importe quel pointeur.

  6. #106
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Alp
    Le C impose une sorte de "rétro-parsing" ?
    Les fonctions -- sous certaines conditions de prototypes -- peuvent ne pas etre declaree avant d'etre utilisees.

  7. #107
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Ok. Le compilo gère ça comment ? Il enregistre tous les appels à des fonctions non déclarées et voit si elles sont déclarées dans le même fichier plus bas ( ou dans un fichier inclus plus bas, ce qui au final revient presque au même )

  8. #108
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ah oui, effectivement, il y a un warning avec gcc qui est affiché en disant qu'il considère la fonction comme un je-ne-sais-plus-quoi.

  9. #109
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Alp
    Ok. Le compilo gère ça comment ? Il enregistre tous les appels à des fonctions non déclarées et voit si elles sont déclarées dans le même fichier plus bas ( ou dans un fichier inclus plus bas, ce qui au final revient presque au même )
    Il la compile comme si elle avait ete declaree avec un prototype particulier (type de retour int, type des parametres, celui qui est donne par les regles de promotions appliquees dans le cas des fonctions variadiques).

  10. #110
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    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 296
    Par défaut
    Citation Envoyé par Miles
    la seule fois que j'ai vu quelque chose qui ressemblait à de la métaprog en traitement d'image, c'était une utilisation classique des templates appliquée au conteneur qu'on utilisait (cf Vigra).
    Regarde Adobe.GIL (qui devient boost.GIL), tu vas devrais (mieux) servi en templates appliqués à la manipulation d'images.
    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...

  11. #111
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est très proche de Vigra comme programmation (lui-même plus développé par certains aspects), mais ce n'est pas la panacée tout de même. Y'a rien de démentiellement extraordinaire en terme de méta-programmation dedans à part des choses simples, enfin je trouve.

  12. #112
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    Personnellement je ne fais pas vraiment du c ni vraiment du c++. Je fais du generic, un mix des deux. Généralement mes projets sont des projets c++ avec compilo g++, mais il y a un tas de chose que j'utilise qui viennent du c car je les trouve plus simple à manipuler, par exemple les flux! surtout les écritures/lectures en fichiers. Mais en gros je fais principalement du code en c-style et j'utilise les composants du c++ qui m'arrangent, que ce soit pour faire du calcul numérique pour ma these, ou bien pour faire du dev sous windows avec wxwidgets.

  13. #113
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Les flux (stream) sont du C++, à moins que tu ne parles des FILE* ?

  14. #114
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    C'est dommage que tu n'utilises pas tout ce qu'apporte le C++.

    Ces deux langages sont vraiment différents, donc autant à programmer en C++, sers-toi de la puissance supplémentaire disponible.

  15. #115
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    oui, lorsque je compte écrire/lire dans un fichier j'utilise FILE*

  16. #116
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Pourquoi te servir de FILE* alors que les streams du C++ le remplacent avantageusement ?

    Qu'est-ce que tu préfères dans l'implémentation C ?

  17. #117
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par reptils
    oui, lorsque je compte écrire/lire dans un fichier j'utilise FILE*
    Si tu trouves ça plus simple que les flux C++, c'est que tu n'as pas vraiment donné leur chance à ces derniers.

  18. #118
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    Citation Envoyé par Alp
    C'est dommage que tu n'utilises pas tout ce qu'apporte le C++.

    Ces deux langages sont vraiment différents, donc autant à programmer en C++, sers-toi de la puissance supplémentaire disponible.
    peut etre qu'a terme je passerai de plus en plus au c++ style, mais pour le moment vu que je fais principalement du calcul numerique je n'ai AUCUN apport du c++ vis-avis du c. La seul raison pour laquelle mon code elements finis pour calculer mes champs electromagnetiques est faite en c++ c'est juste par rapport à l'existance de la class complex. Car meme si la norme C99 defini les nombres complex je trouve ça moins clair...
    J'ai une questoin à propos du c++ sur l'allocation dynamique. si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaClass* tab=new MaClass[nb_element]
    tab est un tableau de type MaClass alloué à nb_element? et si oui, je ne vois pas à quel moment on fait appel au constructeur pour chaque element?

    EDIT: pour cette histoire de stream, c'est juste que je trouve moins pratique pour formatter la sortie en c++. Genre si je veux mettre un entier de 7 places puis un reel écrit au format scientifique avec un certaine précision etc c'est plus simple avec printf je trouve.

  19. #119
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Laurent Gomila
    Si tu trouves ça plus simple que les flux C++, c'est que tu n'as pas vraiment donné leur chance à ces derniers.
    je sui d'accord avec reptils (pour le formatage des fichiers).
    La seul reponse que j'ai eu pour faire la même chose est BOOST, il faut donc faut ajouter des fichier

  20. #120
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par reptils
    J'ai une questoin à propos du c++ sur l'allocation dynamique. si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaClass* tab=new MaClass[nb_element]
    tab est un tableau de type MaClass alloué à nb_element? et si oui, je ne vois pas à quel moment on fait appel au constructeur pour chaque element?
    Oui et en même temp. Le new va alloué l'espace memoire necessaire pour tes instances et appeler le constructeur par default pour chaqu'une d'elle.

+ Répondre à la discussion
Cette discussion est résolue.
Page 6 sur 18 PremièrePremière ... 234567891016 ... DernièreDernière

Discussions similaires

  1. Mythes & Réalité
    Par philben dans le forum Contribuez
    Réponses: 6
    Dernier message: 07/07/2006, 07h05
  2. [TV] Emission Télé Réalité(encore)
    Par ArHacKnIdE dans le forum Films & TV
    Réponses: 30
    Dernier message: 31/05/2006, 11h47
  3. Liste deroulante et VALUE non conforme a la realité
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/05/2005, 13h33
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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