Última pergunta sobre Stl

1
Responda

Como faço para ter um objeto apenas de movimento de membro const sem tornar meu objeto copiável?

#include<algorithm> #include<vector> #include<memory> class Foo { public: Foo(); #if 1 // Destructor for rule of 5. ~Foo(){} // Move constructor yes. Foo(Foo&&) noexcept=default; // Move assignment probably won't actually be created because const member variable. // Do I need it though? Why would vector need to move-assign? Foo& operator=(Foo&&) noexcept=default; // Copy no. Foo(const Foo&)=delete; Foo& operator=(const Foo&)=delete; #endif protected: // It works if non-const. Broken if const. const std::unique_ptr<int> ptr; }; int main() { std::vector<Foo> bar; bar.reserve(1); } #include<algorithm> #include<vector> #include<memory> class Foo { public: Foo(); #if 1 // Destructor for rule of 5. ~Foo(){} // Move constructor yes. Foo(Foo&&) noexcept=default; // Move assignment probably won't actually be created because const member variable. // Do I need it though? Why would vector need to move-assign? Foo& operator=(Foo&&) noexcept=default; // Copy no. Foo(const Foo&)=delete; Foo& operator=(const Foo&)=delete; #endif protected: // It works if non-const. Broken if const. const std::unique_ptr<int> ptr; }; int main() { std::vector<Foo> bar; bar.reserve(1); } #include #include #include class Foo { público: Foo (); #if 1 // Destruidor para regra de 5. ~ Foo () {} // Mova o construtor sim. Foo (Foo&&) noexcept=default; // Mover atribuição provavelmente não será criada porque a variável membro const. // Eu preciso disso? Por que o vetor precisa mover-atribuir? Foo & operator=(Foo&&) noexcept=default; // Copiar no. Foo (const Foo&)=delete; Foo & operator=(const Foo&)=delete; #fim se protegido: // Funciona se não const. Quebrado se const. const std::unique_ptrptr; }; int main () { std::vectorbar; bar.reserve (1); } Recebo o erro (com GCC):

move semantics vector c++ stl

1
Responda

Pesquisa de vetor linear muito lenta para o juiz online

Declaração do problema: temos que inserir um vetor e, em seguida, há um certo número de consultas. Para uma consulta específica, temos que pesquisar esse número no vetor. Se for encontrado imprimimos"Sim"e se não for encontrado imprimimos o próximo número maior para a consulta e imprimimos"Não". O vetor é classificado.

c++ vector stl

1
Responda

Some dois vetores e armazene o algoritmo de stl [duplicado]

Esta pergunta já tem respostas aqui: How do I perform a pairwise binary operation between the elements of two containers? (3 respostas) Fechado4 dias atrás. Esta pergunta já tem respostas aquiEsta pergunta já tem respostas aqui: How do I perform a pairwise binary operation between the elements of two containers? Como realizo uma operação binária de pares entre os elementos de dois contêineres? (3 respostas) (3 respostas) Fechado4 dias atrás4 dias atrás. Eu tenho dois vetores e quero fazer algo como

stl c++

Etiquetas quentes

© 2021   OlaMundo.Org