Pourquoi est std::mapimplémenté comme un arbre rouge-noir ? Il existe plusieurs arbres de recherche binaires équilibrés (BST). Quels ont été les compromis de conception dans le choix d'un arbre
Pourquoi est std::mapimplémenté comme un arbre rouge-noir ? Il existe plusieurs arbres de recherche binaires équilibrés (BST). Quels ont été les compromis de conception dans le choix d'un arbre
Pourquoi la fonction inverse de la std::listclasse dans la bibliothèque standard C ++ a-t-elle une exécution linéaire? Je pense que pour les listes à double liaison, la fonction inverse aurait dû être O (1). Inverser une liste à double lien devrait simplement impliquer de changer la tête et les...
Quels sont les avantages et les inconvénients de l' utilisation des conteneurs Qt ( QMap, QVector, etc.) sur leur équivalent STL? Je peux voir une raison de préférer Qt: Les conteneurs Qt peuvent être transmis à d'autres parties de Qt. Par exemple, ils peuvent être utilisés pour remplir a...
Ok, c'est vraiment difficile à avouer, mais j'ai une forte tentation en ce moment d'hériter std::vector. J'ai besoin d'environ 10 algorithmes personnalisés pour le vecteur et je veux qu'ils soient directement membres du vecteur. Mais naturellement je veux aussi avoir le reste de...
J'ai lu sur les conteneurs STL dans mon livre sur C ++, en particulier la section sur la STL et ses conteneurs. Maintenant, je comprends que chacun d'entre eux a ses propres propriétés spécifiques, et je suis sur le point de les mémoriser tous ... Mais ce que je ne saisis pas encore, c'est dans...
Y at - il une classe modèle standard C ++ Library qui fournit des fonctionnalités de concaténation de chaîne efficace, similaire à C # 's StringBuilder ou Java StringBuffer
Quel est le but de std::make_pair? Pourquoi ne pas le faire std::pair<int, char>(0, 'a')? Y a-t-il une différence entre les deux
Existe-t-il du code pour trouver la valeur maximale de l'entier (en fonction du compilateur) en C / C ++ comme une Integer.MaxValuefonction en
Quelle est la manière la moins chère d'initialiser un std::vector partir d'un tableau de style C? Exemple: dans la classe suivante, j'ai un vector, mais en raison de restrictions extérieures, les données seront transmises sous forme de tableau de style C: class Foo { std::vector<double> w_;...
Après de nombreuses recherches avec valgrind, j'ai conclu que std :: vector fait une copie d'un objet que vous voulez push_back. Est-ce vraiment vrai? Un vecteur ne peut pas garder une référence ou un pointeur d'un objet sans copie?!
Y a-t-il des avantages de la std::for_eachsur- forboucle? Pour moi, cela std::for_eachsemble seulement nuire à la lisibilité du code. Pourquoi alors certaines normes de codage recommandent-elles son
J'utilise std :: queue pour implémenter la classe JobQueue. (Fondamentalement, cette classe traite chaque travail de manière FIFO). Dans un scénario, je souhaite effacer la file d'attente d'un seul coup (supprimer tous les travaux de la file d'attente). Je ne vois aucune méthode claire disponible...
Je voudrais sortir un peu de code Facelets sous condition. Pour cela, les balises JSTL semblent fonctionner correctement: <c:if test="${lpc.verbose}"> ... </c:if> Cependant, je ne suis pas sûr qu'il s'agisse d'une meilleure pratique? Existe-t-il une autre façon d'atteindre mon...
Concevoir un nouveau système à partir de zéro. J'utiliserai la STL pour stocker des listes et des cartes de certains objets de longue durée. Question: Dois-je m'assurer que mes objets ont des constructeurs de copie et stockent des copies d'objets dans mes conteneurs STL, ou est-il généralement...
J'essaye d'utiliser std::vectorcomme chartableau. Ma fonction prend un pointeur vide: void process_data(const void *data); Avant, je viens d'utiliser ce code: char something[] = "my data here"; process_data(something); Ce qui a fonctionné comme prévu. Mais maintenant, j'ai besoin de la dynamicité...
Apparemment ;-) les conteneurs standards offrent une certaine forme de garantie. Quels types de garanties et quelles sont exactement les différences entre les différents types de conteneurs? En travaillant à partir de la page SGI (à propos de STL ), j'ai trouvé ceci: Container Types:...
J'aime beaucoup les vecteurs. Ils sont astucieux et rapides. Mais je sais que cette chose appelée valarray existe. Pourquoi utiliser un valarray au lieu d'un vecteur? Je sais que les valarrays contiennent du sucre syntaxique, mais à part ça, quand sont-ils
Ce que je veux dire, c'est - nous savons que les std::mapéléments de s sont triés en fonction des clés. Donc, disons que les clés sont des entiers. Si j'itère de std::map::begin()à en std::map::end()utilisant a for, la norme garantit-elle que je vais itérer en conséquence à travers les éléments...
En C ++, quel est le type de a std::map<>::iterator? On sait qu'un objet itde type std::map<A,B>::iteratora un surchargé operator ->qui renvoie a std::pair<A,B>*, et que le std::pair<>a un membre firstet second. Mais à quoi correspondent ces deux membres et pourquoi...
Je préfère deux manières: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec;