Domande taggate «stl»

Standard Template Library, o STL, è una libreria C ++ di contenitori generici, iteratori, algoritmi e oggetti funzione. Quando il C ++ è stato standardizzato, ampie parti dell'STL sono state adottate nella libreria standard e queste parti nella libreria standard sono talvolta erroneamente definite collettivamente come "l'STL".

2
std :: back_inserter per uno std :: set?
Immagino che questa sia una domanda semplice. Devo fare qualcosa del genere: std::set<int> s1, s2; s1 = getAnExcitingSet(); std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor()); Certo, std::back_inserternon funziona poiché non c'è push_back. std::inserterserve anche un iteratore? Non l'ho usato std::inserterquindi non sono sicuro di cosa fare. Qualcuno ha un'idea? Ovviamente, l'altra mia opzione …
94 c++  algorithm  stl 




7
Ispezione del contenuto del contenitore standard (std :: map) con gdb
Supponendo di avere qualcosa del genere: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Vorrei poter ispezionare il contenuto della mappa che esegue il programma da gdb. Se provo a utilizzare l'operatore pedice ottengo: (gdb) p m[1] Attempt to take address of value …
93 c++  stl  map  gdb 


2
come aggiungere un oggetto list <T> a un altro
in C ++, ho due list&lt;T&gt;oggetti Ae Bvoglio aggiungere tutti i membri di Balla fine di A. Ho cercato in diverse fonti e non ho trovato una soluzione semplice (ei A.append(B);) e questo mi sorprende un po '. Qual è il modo migliore per farlo? Come accade, non mi interessa …
92 c++  list  stl 

6
Capacità iniziale del vettore in C ++
Qual è il valore capacity()di un std::vectorche viene creato utilizzando il constuctor predefinito? So che size()è zero. Si può affermare che un vettore costruito di default non chiama allocazione della memoria heap? In questo modo sarebbe possibile creare un array con una riserva arbitraria utilizzando una singola allocazione, come std::vector&lt;int&gt; …

2
Perché std :: stack usa std :: deque per impostazione predefinita?
Poiché le uniche operazioni richieste per un contenitore da utilizzare in uno stack sono: indietro() respingere() pop_back () Perché il contenitore predefinito per esso è una deque invece di un vettore? Non deselezionare le riallocazioni di fornire un buffer di elementi prima di front () in modo che push_front () …
91 c++  stl  containers 


9
std :: map insert o std :: map find?
Supponendo una mappa in cui si desidera conservare le voci esistenti. Il 20% delle volte la voce che stai inserendo è di nuovi dati. C'è un vantaggio nel fare std :: map :: find quindi std :: map :: insert usando l'iteratore restituito? O è più veloce tentare l'inserimento e …
90 c++  optimization  stl  stdmap 

6
Come aggiornare std :: map dopo aver utilizzato il metodo find?
Come aggiornare il valore di una chiave in std::map dopo aver utilizzato il findmetodo? Ho una dichiarazione di mappa e iteratore come questa: map &lt;char, int&gt; m1; map &lt;char, int&gt;::iterator m1_it; typedef pair &lt;char, int&gt; count_pair; Sto usando la mappa per memorizzare il numero di occorrenze di un personaggio. Sto …
90 c++  map  stl  stdmap 

8
Quale contenitore STL dovrei usare per un FIFO?
Quale contenitore STL si adatterebbe meglio alle mie esigenze? Fondamentalmente ho un contenitore largo 10 elementi in cui inserisco continuamente push_backnuovi elementi mentre pop_frontinserisco l'elemento più vecchio (circa un milione di volte). Attualmente sto usando a std::dequeper l'attività, ma mi chiedevo se a std::listsarebbe più efficiente poiché non avrei bisogno …
89 c++  stl  fifo 

7
Perché non possiamo dichiarare un std :: vector <AbstractClass>?
Dopo aver trascorso un po 'di tempo a sviluppare in C #, ho notato che se dichiari una classe astratta allo scopo di usarla come interfaccia non puoi istanziare un vettore di questa classe astratta per memorizzare istanze delle classi figlie. #pragma once #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; …

3
come fornire una funzione di scambio per la mia classe?
Qual è il modo corretto per abilitare i miei swapalgoritmi in STL? 1) Membro swap. Non std::swaputilizzare SFINAE trucco per utilizzare il membro swap. 2) In piedi libero swapnello stesso spazio dei nomi. 3) Parziale specializzazione di std::swap. 4) Tutto quanto sopra. Grazie. EDIT: Sembra che non abbia espresso chiaramente …
89 c++  algorithm  stl  swap 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.