Perguntas com a marcação «stl»

A Standard Template Library, ou STL, é uma biblioteca C ++ de contêineres genéricos, iteradores, algoritmos e objetos de função. Quando o C ++ foi padronizado, grandes partes do STL foram adotadas na Biblioteca Padrão, e essas partes na Biblioteca Padrão também são, às vezes, erroneamente referidas coletivamente como "o STL".


11
Como limpo a fila std :: com eficiência?
Estou usando std :: fila para implementar a classe JobQueue. (Basicamente, essa classe processa cada trabalho da maneira FIFO). Em um cenário, desejo limpar a fila de uma só vez (exclua todos os trabalhos da fila). Não vejo nenhum método claro disponível na classe std :: queue. Como implemento eficientemente …
166 c++  stl  queue 



3
Como obter o ponteiro std :: vector para os dados brutos?
Estou tentando usar std::vectorcomo uma charmatriz. Minha função recebe um ponteiro nulo: void process_data(const void *data); Antes eu simplesmente usava esse código: char something[] = "my data here"; process_data(something); O que funcionou como esperado. Mas agora eu preciso da dinâmica de std::vector, então tentei este código: vector<char> something; *cut* process_data(something); …
160 c++  stl  vector 

3
Quais são as garantias de complexidade dos contêineres padrão?
Aparentemente ;-) os contêineres padrão fornecem alguma forma de garantia. Que tipo de garantias e quais são exatamente as diferenças entre os diferentes tipos de contêiner? Trabalhando na página da SGI (sobre STL ), eu vim com isso: Container Types: ================ Container: Forward Container Reverse Container Random Access Container Sequence …
160 c++  stl  containers  big-o 

9
C ++ valarray vs. vetor
Eu gosto muito de vetores. Eles são bacanas e rápidos. Mas eu sei que essa coisa chamada valarray existe. Por que eu usaria um valarray em vez de um vetor? Eu sei que os valarrays têm um pouco de açúcar sintático, mas, além disso, quando eles são úteis?


2
O que significa iterator-> second?
Em C ++, qual é o tipo de a std::map<>::iterator? Sabemos que um objeto itdo tipo std::map<A,B>::iteratortem uma sobrecarga operator ->que retorna um std::pair<A,B>*, e que o std::pair<>tem firste secondmembro. Mas, a que esses dois membros correspondem e por que precisamos acessar o valor armazenado no mapa como it->second?
157 c++  stl  iterator 

7
maneira rápida de copiar um vetor para outro
Eu prefiro duas maneiras: 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; newVec.swap(original); } Como você faz isso?
155 c++  algorithm  stl 






Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.