Resultados da pesquisa a pedido "move-semantics"

2 a resposta

O que posso fazer com um objeto movido de

O padrão define com precisão o que posso fazer com um objeto depois que ele foi movido? Eu costumava pensar que tudo que você pode fazer com um objeto movido é destruí-lo, mas isso não seria suficient Por exemplo, considere o modelo de ...

3 a resposta

O que é "referência de valor nominal para * isso"?

Conheci uma proposta chamada "rvalue reference for * this" na clang's Página de status do C ++ 11 [http://clang.llvm.org/cxx_status.html]. Eu li bastante sobre referências a rvalue e as compreendi, mas acho que não sei disso. Também não ...

4 a resposta

A especialização std :: swap está obsoleta agora que temos a semântica de movimento? [duplicado

Possible Duplicate: Move semântica == função de troca personalizada obsoleta? [https://stackoverflow.com/questions/6416385/move-semantics-custom-swap-function-obsolete] É assimstd::swap parece em C ++ 11: template<typename T> void swap(T& x, T& ...

2 a resposta

s subobjetos dos membros das variáveis locais também serão movidos se retornados de uma funçã

O padrão C ++ 11 afirma que, se as condições para a remoção da cópia forem atendidas §12.8/31), a implementação tratará umreturned variável local lvalue e parâmetros de função, como um rvalue primeiro (movimento) e se a resolução de sobrecarga ...

12 a resposta

Move o operador de atribuição e `if (this! = & Rhs)`

No operador de atribuição de uma classe, você geralmente precisa verificar se o objeto que está sendo atribuído é o objeto de chamada para não estragar tudo: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } ...

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

6 a resposta

s locais retornados são automaticamente calculados com valores

Seguindo um comentário que fiz sobre isso: passing std :: vector para construtor e mover semântica [https://stackoverflow.com/questions/9963798/passing-stdvector-to-constructor-and-move-semantics] É ostd::move necessário no código a seguir, ...

2 a resposta

over semântica e tipos primitiv

Exemplo de código: int main() { std::vector<int> v1{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::cout << "Printing v1" << std::endl; print(v1); std::vector<int> v2(std::make_move_iterator(v1.begin()), std::make_move_iterator(v1.end())); std::cout << ...