À l'école, nous avons commencé à apprendre le C cette année, malgré le fait que je suis loin devant la classe, et j'ai appris Java, C ++ et C pendant que la classe est à la base de C. Quoi qu'il en soit, je me suis documenté, lu des livres, articles, et j'ai demandé à mon professeur pourquoi je devrais apprendre le C, et elle a dit que c'était le fondement du C ++. Lorsque j'ai commencé à programmer, j'ai trouvé C ++ beaucoup plus facile, j'ai appris plus tard C. Mais dans les livres, vous pouvez voir que le code C fonctionne en C ++ mais qu'il ne va pas vice-versa.
Ma question est assez simple ~ Est-ce une bonne habitude d'utiliser des expressions C en C ++? Laisse moi te donner un exemple:
Si ce code
#include <stdio.h>
#include <iostream>
int main() {
int x;
scanf("%d", &x);
cout << "The number you entered is " << x << "And it's double is " << x*x;
return 0;
}
Soyez plus efficace ou meilleur que ce soit:
#include <iostream>
int main() {
int x;
cin >> x;
cout << "The number you entered is " << x << "And it's double is " << x*x;
return 0;
}
J'ai déjà fait une documentation facile à ce sujet dans certains vieux livres poussiéreux, et d'après ce que j'ai pu trouver, utiliser scanf au lieu de cout vide également le flux ou quelque chose comme ça, donc je demande essentiellement s'il est préférable d'utiliser scanf et dans quels contextes.
Cela s'applique également aux E / S de fichiers car j'ai toujours trouvé que les E / S de fichiers étaient plus faciles en C qu'en C ++. Cette question vaut pour presque toutes les expressions générales en C appliquées au C ++. Il est également notable que j'utilise un compilateur moderne et néanmoins cela ne devrait pas avoir d'importance car je demande si c'est une bonne habitude de programmation d'utiliser des expressions C dans du code C ++.
Il y a probablement des inconvénients et des avantages à le faire, mais je ne cherche qu'un type de réponse oui / pourquoi, non / pourquoi.
Aussi, s'il y a des détails, j'ai laissé un commentaire.
stdio
etiostream
. Il y a un certain ordre et synchronisation garantis au sein d'une famille qui ne s'appliquent pas nécessairement à l'extérieur.