 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Gaël Jaffré Guest
|
Posted: Mon May 24, 2004 3:16 pm Post subject: printf Vs cout |
|
|
Bonjour,
Quel problème peut-il y avoir si en passant de C à C++ on continue à
utiliser :
- printf("..."); au lieu de cout << "...";
- #define N 64 au lieu de const int n = 64;
- int f(void) au lieu de int f()
Habitué à programmer en C, je pensais qu'en C++ je pouvais continuer à
utiliser tout ça sans aucun problème. Mais j'ai eu plusieurs fois la
remarque "ça ressemble à du C".
Cette utilisation d'instructions et de fonctions typiques du C peut
t-elle poser des probèmes ?
Merci
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Mon May 24, 2004 3:23 pm Post subject: Re: printf Vs cout |
|
|
Gaël Jaffré <jaffre (AT) irit (DOT) fr> writes:
| Quote: | Bonjour,
Quel problème peut-il y avoir si en passant de C à C++ on continue à
utiliser :
- printf("..."); au lieu de cout << "...";
|
Tout les problemes habituels de printf. En particulier pas de
verification la correspondance de type entre ce qui est attendu et ce
qui est reellement passe et pas de possibilite d'utiliser des classes.
| Quote: | - #define N 64 au lieu de const int n = 64;
|
Les problemes du preprocesseur. En particulier pas de controle de
scope, clash possibles avec d'autres symboles avec des effets plus ou
moins bizarres et facile a debugger et symbole generalement inconnu du
debugger.
| Quote: | - int f(void) au lieu de int f()
|
Uniquement un probleme de style.
| Quote: | Habitué à programmer en C, je pensais qu'en C++ je pouvais continuer
à utiliser tout ça sans aucun problème. Mais j'ai eu plusieurs fois
la remarque "ça ressemble à du C".
|
Le dernier points n'est qu'un probleme de style, les autres ont aussi
des implications plus graves.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
Samuel Krempp Guest
|
Posted: Mon May 24, 2004 7:06 pm Post subject: Re: printf Vs cout |
|
|
le Monday 24 May 2004 17:23, [email]jm (AT) bourguet (DOT) org[/email] écrivit :
| Quote: | Gaël Jaffré <jaffre (AT) irit (DOT) fr> writes:
Bonjour,
Quel problème peut-il y avoir si en passant de C à C++ on continue à
utiliser :
|
les points que tu cites sont effectivement des exemples classiques où la
façon de faire du C a des réels inconvénients.
à priori on peut trouver des détails dans des comparaisons C/C++ .
en regardant dans la 'faq-lite' de C++, on trouve aussi des réponses :
| Quote: | - printf("..."); au lieu de cout << "...";
Tout les problemes habituels de printf. En particulier pas de
verification la correspondance de type entre ce qui est attendu et ce
qui est reellement passe et pas de possibilite d'utiliser des classes.
|
voir aussi
http://www.parashift.com/c++-faq-lite/input-output.html#faq-15.1
| Quote: | - #define N 64 au lieu de const int n = 64;
Les problemes du preprocesseur. En particulier pas de controle de
scope, clash possibles avec d'autres symboles avec des effets plus ou
moins bizarres et facile a debugger et symbole generalement inconnu du
debugger.
|
http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.5
--
Sam
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Tue May 25, 2004 7:35 am Post subject: Re: printf Vs cout |
|
|
Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> wrote
| Quote: | Gaël Jaffré <jaffre (AT) irit (DOT) fr> writes:
Quel problème peut-il y avoir si en passant de C à C++ on continue à
utiliser :
- printf("..."); au lieu de cout << "...";
Tout les problemes habituels de printf. En particulier pas de
verification la correspondance de type entre ce qui est attendu et ce
qui est reellement passe et pas de possibilite d'utiliser des classes.
|
Sans parler de l'extensibilité, ni la séparation des concernes -- la
gestion du flux de caractères est séparée du formattage en iostream.
Dans la pratique, même si le potentiel d'erreur avec printf est elevé,
je ne me rappelle pas d'y avoir eu de problèmes réels. En revanche, je
ne crois pas d'avoir jamais écrit une application sans au moins un
surcharge de l'opérateur <<, et sans au moins un streambuf sur mésure.
Deux choses complétement impossible avec printf.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|