Resultados da pesquisa a pedido "move-semantics"

1 a resposta

Lvalue para desvalorizar a ligação de referência

3 a resposta

Como retornar um fstream (C ++ 0x)

Acho que vou entrar nisso e começar com o código: #include <iostream> #include <fstream> #include <string> class test : public std::ofstream { public: test(const std::string& filename) { this->open(gen_filename(filename)); }; test(const test&) = ...

4 a resposta

copy vs std :: move for ints

Qual é a diferença entre copy padrão e std :: move nesse exemplo?Depois demove o objeto existe alguma dependência entre os novos e os antigos?int main () { int a = 100; std::cout<<&a<<std::endl; auto a_copy = a; // deduced as ...

1 a resposta

Por que o `std :: stringstream :: stringstream (std :: string &&)` não existe?

eu estava esperandostringstream tem um construtor que rouba seu conteúdo inicial de umstring&&. Tais interespécies "movem construtores" geralmente não existem no STL? Se não, por que não?

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

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

1 a resposta

Std :: move (* this) é um bom padrão?

Para que esse código com os qualificadores de referência C ++ 11 funcionem conforme o esperado, tenho que introduzir umstd::move(*this) isso não parece certo. #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" ...

2 a resposta

Versão somente mover da função std ::

Porquestd::function é copiável, o padrão exige que as chamadas usadas para construí-lo também sejam copiáveis: n337 (20.8.11.2.1) template<class F> function(F f); Requer:F deve ser CopyConstructible.f deve ser Callable (20.8.11.2) para ...

2 a resposta

Std :: move e std :: copy são idênticos?

Eu tentei fazer algo como: std::copy(std::make_move_iterator(s1.begin()), std::make_move_iterator(s1.end()), std::make_move_iterator(s2.begin()));E recebi este erro: error: using xvalue (rvalue reference) as lvalue *__result ...

3 a resposta

Por que precisamos definir a referência rvalue como null no construtor move?

//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references class Widget { public: Widget(Widget&& rhs) : pds(rhs.pds) // take source’s value { rhs.pds = nullptr; // why?? } private: struct ...