Resultados da pesquisa a pedido "move-semantics"
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 ...
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 ...
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 ...
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 ...
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 ...
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> ...
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 ...
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, ...
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?
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 ...