Articles of stl

C ++ 11 std :: to_ssortingng (double) – Pas de zéros à la fin

Aujourd’hui, j’ai essayé de nouvelles fonctions du C ++ 11 STL et rencontré std::to_ssortingng . Lovely, belle série de fonctions. Créer un object ssortingngstream pour une seule conversion double à chaîne m’a toujours semblé exagéré, alors je suis content que nous puissions faire quelque chose comme ceci: std::cout << std::to_string(0.33) << std::endl; Le résultat? 0.330000 […]

Pourquoi les iStream C ++ STL ne sont-ils pas «exceptionnels»?

Je suis habitué à Delphi VCL Framework, où TStreams lance des exceptions sur les erreurs (par exemple, fichier introuvable, disque plein). Je porte du code pour utiliser C ++ STL à la place, et j’ai été surpris par les iostreams ne générant pas d’exceptions par défaut, mais en définissant plutôt des indicateurs badbit / failbit […]

Copier std :: vector: préférer l’affectation ou std :: copy?

J’ai deux vecteurs: std::vector v1, v2; // Filling v1 … Et maintenant je dois copier v1 à v2 . Y a-t-il une raison de préférer v2 = v1; à std::copy (v1.begin(), v1.end(), v2.begin()); (ou vice versa)?

Devrais-je utiliser std :: for_each?

J’essaie toujours d’en savoir plus sur les langues que j’utilise (différents styles, frameworks, modèles, etc.). J’ai remarqué que je n’utilisais jamais std::for_each alors j’ai pensé que je devrais peut-être commencer. Le but dans de tels cas est d’élargir mon esprit et non d’améliorer le code dans une certaine mesure (lisibilité, expressivité, compacité, etc.). Donc, avec […]

utilisez std :: fill pour remplir le vecteur avec des nombres croissants

Je voudrais remplir un vector utilisant std::fill , mais au lieu d’une valeur, le vecteur devrait contenir des nombres dans l’ordre croissant après. J’ai essayé d’y parvenir en répétant le troisième paramètre de la fonction par un, mais cela ne me donnerait que des vecteurs remplis de 1 ou 2 (en fonction de la position […]

dans quelle mesure l’iterator final est-il portable?

Je viens de rencontrer le décrément de l’iterator de end() dans les codes sources de mon entreprise et cela me semble étrange. Pour autant que je me souvienne, cela fonctionnait sur certaines plates-formes, mais pas pour les autres. Peut-être que je me trompe, mais je n’ai rien trouvé d’utile à ce sujet. Standard dit seulement […]

Pour STL ou! STL, c’est la question

Indiscutablement, je choisirais d’utiliser la STL pour la plupart des projets de programmation C ++. La question m’a été cependant présentée récemment: “Y a-t-il des cas où vous n’utiliseriez pas le TSL?” Plus j’y pensais, plus je me rendais compte que peut-être il y aurait des cas où je choisirais de ne pas utiliser la […]

Les cartes STL initialisent-elles les types primitifs sur l’insert?

J’ai un std::map comme celui-ci: map Scores; Il stocke les noms des joueurs et des scores. Quand quelqu’un obtient un score, je le fais simplement: Scores[wstrPlayerName]++; Lorsqu’il n’y a pas d’élément dans la map avec la clé wstrPlayerName il en créera un, mais est-il initialisé à zéro ou nul avant l’incrément ou est-il laissé indéfini? […]

One Liner à convertir de la liste au vecteur

Existe-t-il un one-liner qui convertit une list en vector ? Une recherche google me renvoie beaucoup de résultats qui utilisent une conversion manuelle, longue, ce qui me fait vomir. Devrions-nous nous efforcer de faire quelque chose d’aussi simple qu’une conversion de liste en vecteur?

Performances relatives de std :: vector vs. std :: list vs. std :: slist?

Pour une liste chaînée simple dans laquelle un access aléatoire à des éléments de liste n’est pas une exigence, y a-t-il des avantages significatifs (performances ou non) à utiliser std::list au lieu de std::vector ? Si le cheminement vers l’arrière est requirejs, serait-il plus efficace d’utiliser std::slist et reverse() la liste avant de l’itérer sur […]