
Envoyé par
loufoque
Toutes les fonctionnalités ne sont pas redéfinies avec des bibliothèques C++ standard. Certaines parce que ça n'apporterait rien
Nous sommes bien d'accord. C'était bien le point que je voulais faire.
et d'autre parce que ça n'a pas de sens d'avoir des trucs si bas niveau, on préfère des outils plus génériques.
Le bas niveau sert, pour implémenter les trucs plus génériques justement. C'est une des choses qui j'aime en C++, c'est de pouvoir travailler à bas niveau quand j'en ai besoin, et à haut niveau quand ce n'est pas nécessaire.
(pour tes trucs par contre on trouve relativement facilement les équivalents, std::copy et autres algorithmes remplacent memcpy et compagnie
J'ai du mal à appeler
std::copy(reinterpret_cast<unsigned char*>(&src), reinterpret_cast<unsigned char*>((&src)+1), reinterpret_cast<unsigned char*>(&dst));
une alternative meilleure à
memcpy(&dst, &src, sizeof src);
et je ne parle même par de memmove pour lequel je ne vois pas de remplacement standard.
-- les conversions se font en C++ avec les flux --
(Les FILE sont des flux aussi
)
As-tu déjà réellement essayé d'utiliser les flux pour remplacer strtod ou strtol en faisant de la gestion d'erreur? Et je ne parle pas de 36 comme troisième argument à strtol.
et l'entrée sortie avec les flux aussi, donc fflush n'a pas d'intérêt)
Comment fais-tu l'équivalent de fflush(NULL) avec les IOStreams?
Partager