Tout d'abord, je ne voudrais pas lancer un troll, ceci dit, je viens de voir dans un thread récent le code suivant:
Code C
Code C++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char buffer[512]; sprintf(buffer, "%04X", val);
Ces 2 code produisent (ou devraient produire) le même résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 std::ostringstream oss; oss << std::setw(4) << std::setfill('0') << std::hex << std::uppercase << val; std::string s = oss.str();
Je sais qu'il y a des puristes du C++ qui ne parleront que de la 2eme approche et que ne voudrons même pas voir la 1ere.
Par contre, en termes de performances, quel est le coup de tout cela ?
Mon avis intuitif est que l'approche C me 'semble' plus performante que l'approche C++ (dans ce cas là). Est-ce que quelqu'un pourrait me convaincre du contraire afin que je fasse le pas pour supprimer/eradiquer cette manière que j'ai d'utiliser le sprintf()
Il me semble aussi que l'approche C est plus compréhensible mais c'est un autre problème, j'ai appris le C il y a 20 ans et le C++ il y a quelques années seulement, il y a des réflexes durs à oublier.
Partager