J’ai un code qui traite de divers objects std :: list, et j’utilise actuellement une méthode très inefficace pour transférer du contenu entre eux (je parcourt des sections arbitraires d’une liste et déplace les éléments un par un dans le second) liste). J’ai écrit ce code il y a un certain temps avant que je […]
J’ai jeté un coup d’oeil (rapide) au standard C ++ et à une référence en ligne C ++, mais je n’ai pas trouvé de réponse à cette simple question: Le constructeur par défaut de std::list lancer? Si oui, pourquoi jetterait-il?
Supposons qu’il existe une liste d’entiers [1,2,3,4,5] et une fonction de carte qui multiplie chaque élément par 10 et renvoie la liste modifiée sous la forme [10,20,30,40,50], sans modifier l’original. liste. Comment cela peut être fait efficacement en c ++.
J’ai une classe de graphes qui ressemble à: class Graph { public: typedef unsigned int size_type; typedef std::list Neighbours; protected: size_type m_nodes_count, m_edges_count; public: Graph(size_type nodes_count = 0) : m_nodes_count(nodes_count), m_edges_count(0) {} virtual bool is_edge(size_type from, size_type to) = 0; virtual Neighbours neighbours(size_type node) = 0; virtual Graph& add_edge(size_type from, size_type to) = 0; virtual […]
J’ai une structure appelée sumt et j’ai créé des pointeurs sur eux. Ce que je veux faire, c’est append ces pointeurs à une liste. Mon code ci-dessous, lorsqu’il tente d’insérer le pointeur dans la liste, crée une erreur de segmentation. Quelqu’un peut-il s’il vous plaît expliquer ce qui se passe? #include #include #define NUM_VERTICES 8 […]
J’essaie de comprendre comment trouver un élément dans une liste de pointeurs en C ++, en utilisant std :: find Si j’avais par exemple: std::list words; std::ssortingng word_to_be_found; Je pourrais juste chercher comme ça: std::list::iterator matching_iter = std::find(words,begin(), words.end(), word_to_be_found) mais que se passe-t-il si j’ai un petit nombre de pointeurs? std::list words; la syntaxe […]
Je suis assez nouveau en c ++, je n’ai vraiment aucune expérience en la matière. Je me lie pour créer une liste de n-uplets, le premier sera un int, le second sera une chaîne. #include #include #include …. list< tuple > time; Et avoir une erreur. Je veux pouvoir créer une liste, append des entrées […]
J’essaie de construire une chaîne en utilisant des éléments de données stockés dans un std :: list, où je veux que les virgules soient placées uniquement entre les éléments (c’est-à-dire, si les éléments sont {A, B, C, D} dans la liste, la chaîne de résultat devrait être “A B C D”. Ce code ne fonctionne […]
J’ai un ancien projet qui a été construit avec Visual Studio 2003 et je l’ai recompilé avec vs2005 récemment. Cependant, lors de l’exécution, j’obtiens l’erreur suivante: liste iterator non incrémentable J’ai tracé le programme à cette fonction: void InputQueue::update() { list::iterator iter; list::iterator iterTemp; for(iter = begin(); iter != end(); iter++) { if(iter->arrivalTime == 0) […]
C’est très basique, mais je n’ai pas pu trouver une question similaire ici. J’essaye d’itérer la même liste STL sortingée de différentes directions en utilisant list. Je sais que je peux comparer un iterator à list.begin() et list.end() , alors pourquoi cela ne fonctionne-t-il pas? list::iterator itLargeFamily = families.begin(); //starts from the biggest families list::iterator […]