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