Perguntas com a marcação «stl»

192
Por que std :: list :: reverse tem O (n) complexidade?

Por que a função reversa para a std::listclasse na biblioteca padrão C ++ possui tempo de execução linear? Eu pensaria que, para listas duplamente vinculadas, a função reversa deveria ter sido O (1). A reversão de uma lista duplamente vinculada deve envolver apenas a troca da cabeça e dos...

192
O que realmente é um deque no STL?

Para obter mais informações sobre o Stack Overflow no Stack Overflow em Inglês : Clique aqui para obter mais informações sobre o std :: deque Eu estava olhando para contêineres STL e tentando descobrir o que eles realmente são (ou seja, a estrutura de dados usada), e o...

189
Não herdarás de std :: vector

Ok, isso é realmente difícil de confessar, mas eu tenho uma forte tentação no momento de herdar std::vector. Preciso de cerca de 10 algoritmos personalizados para vetor e quero que eles sejam diretamente membros do vetor. Mas, naturalmente, também quero ter o restante da std::vectorinterface. Bem,...

185
Em que cenário eu uso um contêiner STL específico?

Estive lendo sobre contêineres STL em meu livro sobre C ++, especificamente a seção sobre o STL e seus contêineres. Agora eu entendo que cada um deles tem suas próprias propriedades específicas e estou quase memorizando todas elas ... Mas o que ainda não entendo é em que cenário cada uma delas é...

185
Contentores STL ou Qt?

Quais são as vantagens e desvantagens de utilizar recipientes Qt ( QMap, QVector, etc.) sobre a sua STL equivalente? Eu posso ver um motivo para preferir o Qt: Os contêineres de Qt podem ser repassados ​​para outras partes do Qt. Por exemplo, eles podem ser usados ​​para preencher um QVariante...

174
Como inicializar std :: vector da matriz C-style?

Qual é a maneira mais barata de inicializar a std::vectorpartir de uma matriz no estilo C? Exemplo: Na classe a seguir, eu tenho um vector, mas devido a restrições externas, os dados serão passados ​​como uma matriz no estilo C: class Foo { std::vector<double> w_; public: void...

166
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...

163
JSTL no JSF2 Facelets… faz sentido?

Gostaria de emitir um pouco do código Facelets condicionalmente. Para esse propósito, as tags JSTL parecem funcionar bem: <c:if test="${lpc.verbose}"> ... </c:if> No entanto, não tenho certeza se essa é uma prática recomendada? Existe outra maneira de alcançar meu...

160
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...

159
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

157
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...

155
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;...