Resultados da pesquisa a pedido "move-semantics"

2 a resposta

O que acontece quando você atribui uma constante literal a uma referência rvalue?

Esta é, sem dúvida, uma questão minuciosa e principalmente motivada pela curiosidade. Suponha que tenhamos o seguinte: int x = 5; int&& xref = std::move(x); std::cout << "Before assignment x: " << x << std::endl; std::cout << "Before assignment ...

1 a resposta

Um destruidor virtual padrão impede operações de movimentação geradas pelo compilador?

Inspirado no postPor que o destruidor desativa a geração de métodos de movimentação implícitos? [https://stackoverflow.com/questions/33932824/why-destructor-disabling-the-generation-of-implicit-move-functions] , Fiquei pensando se o mesmo se ...

1 a resposta

Por que os construtores de movimentação excluídos implícita e explicitamente são tratados de maneira diferente?

O que éjustificativapor trás do tratamento diferente de construtores de movimentação excluídos implícita e explicitamente no padrão C ++ 11, com relação à geração implícita de construtores de movimentação de classes que contêm / herdam? C ++ 14 ...

1 a resposta

Std :: move é seguro em uma lista de argumentos quando o argumento é encaminhado, e não movido construído?

Tentando fornecer uma solução parastd :: string_view e std :: string em std :: unordered_set [https://stackoverflow.com/q/51749081/364696], Eu estou brincando com a ...

2 a resposta

Quais tipos de std são garantidos como vazios / nulos após serem usados como arg no construtor de movimentação

eu seishared_ptr, unique_ptr, weak_ptr é garantido que ele esteja vazio depois de usado como argumento RVR no construtor do mesmo tipo, mas será que o padrão especifica isso para algum outrostd:: tipos ao lado dos que eu mencionei. Observe que ...

4 a resposta

std :: vector :: emplace_back e std :: move

Existe alguma vantagem em usarstd::vector::emplace_back estd::move juntos? ou é apenas redundante desdestd::vector::emplace_back fará uma construção no local? Casos de esclarecimento: std::vector<std::string> ...

2 a resposta

Mover Construtor vs Copiar Elision. Qual deles é chamado?

Eu tenho dois pedaços de código aqui para mostrar a você. São duas classes e cada uma fornece um Move Constructor e uma função que retorna temporariamente. No primeiro caso, a função que retorna uma chamada temporária deMover Construtor No ...

3 a resposta

Por que copiar o construtor é chamado na lista de inicializadores do std :: vector?

Eu tenho a seguinte classe muito simples: class Foo { public: Foo() {} Foo(const Foo&) = delete; Foo(Foo&&) {} void operator=(const Foo&) = delete; void operator=(Foo&&) {} void dump() const {} }; A classe é movível construtível e atribuível, ...

2 a resposta

move semantics std :: move

Eu não entendo muito bem ostd::move function template <class T> typename remove_reference<T>::type&& move(T&& a) { return a; }porqueremove_reference? alguém poderia me dar uma explicação simples?

2 a resposta

Uso correto de `= delete` para métodos em classes

O snipplet a seguir está correto para cancelar a definição de todos os métodos e construtores gerados de outra forma para uma class struct Picture { // 'explicit': no accidental cast from string to Picture explicit Picture(const string ...