Como concatenar dois
Um tipo de sequência definido como parte da Biblioteca padrão.
Como concatenar dois
Eu quero imprimir o conteúdo de um vetor em C ++, aqui está o que eu tenho: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream...
Qual é a maneira mais rápida de redefinir todos os valores de a std::vector<int>para 0 e manter o tamanho inicial do vetor? Um loop for com o operador []?
Depois de muitas investigações com o valgrind, concluí que std :: vector faz uma cópia de um objeto que você deseja enviar push_back. Isso é mesmo verdade? Um vetor não pode manter uma referência ou um ponteiro de um objeto sem uma cópia
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
Preciso copiar std::setpara std::vector: std::set <double> input; input.insert(5); input.insert(6); std::vector <double> output; std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable Onde está o
Se eu tiver um vetor de pares: std::vector<std::pair<int, int> > vec; Existe uma maneira fácil de classificar a lista em ordem crescente com base no segundo elemento do par? Eu sei que posso escrever um pequeno objeto de função que fará o trabalho, mas existe uma maneira de usar...
Quantos dados são copiados, ao retornar um std :: vector em uma função e quão grande será a otimização para colocar o std :: vector no free-store (no heap) e retornar um ponteiro, isto é: std::vector *f() { std::vector *result = new std::vector(); /* Insert elements into result */ return...
Estou procurando uma maneira genérica e reutilizável de embaralhar um std::vectorem C ++. É assim que eu faço atualmente, mas acho que não é muito eficiente porque precisa de um array intermediário e precisa saber o tipo de item (DeckCard neste exemplo): srand(time(NULL)); cards_.clear(); while...
Eu sei que at()é mais lento do que []por causa de sua verificação de limite, que também é discutida em questões semelhantes como C ++ Vector at / [] operator speed ou :: std :: vector :: at () vs operator [] << resultados surpreendentes !! 5 a 10 vezes mais lento / rápido! . Só não entendo...
Eu tenho o seguinte código Java com vários grandes arrays que nunca mudam de tamanho. Ele roda em 1100 ms no meu computador. Implementei o mesmo código em C ++ e usei std::vector. O tempo de implementação do C ++ que executa exatamente o mesmo código é 8.800 ms em meu computador. O que eu fiz...
C ++ 14 apresenta std::dynarray: std :: dynarray é um contêiner de sequência que encapsula matrizes com um tamanho que é fixo na construção e não muda durante a vida útil do objeto. std::dynarraydeve ser alocado em tempo de execução da mesma forma que std::vector. Então, quais são os...
Eu estou usando uma biblioteca externa que em algum momento me dá um ponteiro bruto para uma matriz de números inteiros e um tamanho. Agora eu gostaria de usar std::vectorpara acessar e modificar esses valores no lugar, em vez de acessá-los com ponteiros brutos. Aqui está um exemplo articifial...
Considere o seguinte trecho: #include <array> int main() { using huge_type = std::array<char, 20*1024*1024>; huge_type t; } Obviamente, ele travaria na maioria das plataformas, porque o tamanho da pilha padrão geralmente é inferior a 20 MB. Agora considere o seguinte...
Eu tenho uma função que tem uma std::vectordimensão multidimensional e requer que a profundidade (ou o número de dimensões) seja passada como um parâmetro de modelo. Em vez de codificar esse valor, eu gostaria de escrever uma constexprfunção que aceite std::vectore retorne a profundidade como um...
Eu encontrei um comportamento muito estranho (no clang e no GCC) na seguinte situação. Eu tenho um vetor, nodescom um elemento, uma instância de classe Node. Então, chamo uma função nodes[0]que adiciona um novo Nodeao vetor. Quando o novo Nó é adicionado, os campos do objeto de chamada são...
Suponha que você tenha o seguinte código: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto...
Digamos que eu tenha um vetor de números inteiros: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Então eu classifico em ordem decrescente: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] >...
A pergunta a seguir está relacionada, no entanto, as respostas são antigas e os comentários do usuário Marc Glisse sugerem que existem novas abordagens desde o C ++ 17 para esse problema que talvez não sejam discutidas adequadamente. Estou tentando fazer com que a memória alinhada funcione...
Como posso atribuir os membros de um vetor com um tipo atômico? #include <iostream> #include <thread> #include <vector> using namespace std; int main() { vector<atomic<bool>> myvector; int N=8; myvector.assign(N,false);