Vous trouverez iostream plus efficace car vous n'avez pas besoin de spécifier des spécificateurs de format comme %s,%d,%f etc. pour prendre une entrée ou pour sortir une variable.
Vous faites simplement
cin>>a;
cout<
Il y a quelques pièges de performance potentiels avec cin/cout :
Par défaut,
cin/cout perdent du temps à se synchroniser avec les tampons stdio de la bibliothèque C, de sorte que vous pouvez librement entremêler les appels à
scanf/printf avec les opérations sur cin/cout
. Désactivez ceci avec
std::ios_base::sync_with_stdio
(
false
);
.
De nombreux tutoriels C++ vous disent d'écrire
cout
<
endl
au lieu de
cout << 'n&apos ; Mais endl est en fait plus lent car il force un flush, ce qui est généralement inutile. (Vous auriez besoin d'un flush si vous écriviez, par exemple, une barre de progression interactive, mais pas lorsque vous écrivez un million de lignes de données). Écrivez
'n'
au lieu de
endl
.Il y avait un bogue dans de très anciennes versions de GCC (avant 2004) qui ralentissait considérablement les iostreams C++. N'utilisez pas d'anciens compilateurs.