Resultados da pesquisa a pedido "move-semantics"

5 a resposta

Existe algum caso em que o retorno de uma referência de valor RV (&&) é úti

Existe um motivo para uma função deve retornar uma referência de valor RV? Uma técnica, truque, idioma ou padrão? MyClass&& func( ... ); Estou ciente do perigo deetornando ...

3 a resposta

É possível mover um boost :: opcional?

1 a resposta

push_back () e emplace_back () nos bastidores

Atualmente, estou aprendendo C ++ por conta própria e estou curioso sobre comopush_back() eemplace_back() trabalhar sob o capô. Eu sempre assumi queemplace_back() é mais rápido quando você está tentando construir e empurrar um objeto grande para ...

1 a resposta

Mover semântica para um operador de conversão

Qual é a sintaxe para um operador de conversão móvel?Eu tenho um wrapper que envolve

2 a resposta

Mover atribuição e membro de referência

A atribuição de cópia para uma classe com uma variável de membro de referência é um não-não porque você não pode reatribuir a referência. Mas e quanto à tran...

3 a resposta

Mover semântica para tipos de POD-ish

Existe algum ponto em implementar um construtor de movimentação e um operador de atribuição de movimentação para uma estrutura ou classe que contenha apenas tipos primitivos? Por exemplo, struct Foo { float x; float y; float z; /// ... ctor, ...

2 a resposta

Ramificação de operadores de atribuição com valores em vez de referências

Esta questão vem de questões levantadas poresta resposta [https://stackoverflow.com/a/9746772/734069]. Normalmente, definimos operadores de atribuição de cópia para o tipoT ComoT& operator=(const T&) e mova operadores de atribuição para o tipoT ...

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?

1 a resposta

Mover ou otimização de valor de retorno nomeado (NRVO)?

Digamos que temos o seguinte código: std::vector<int> f() { std::vector<int> y; ... return y; } std::vector<int> x = ... x = f();arece que o compilador tem duas abordagens aqu (a) NRVO: Destrua x, depois construa f () no lugar de x. (b) ...

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