Resultados da pesquisa a pedido "move-semantics"

6 a resposta

Mover elemento de std priority_queue em C ++ 11

6 a resposta

Como uso um deleter personalizado com um membro std :: unique_ptr?

Eu tenho uma classe com um membro unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... };A barra é uma classe de terceiros que possui uma função create () e uma função destroy (). Se eu quisesse usar umstd::unique_ptr com ele em uma ...

6 a resposta

Como realmente implementar a regra dos cinco?

ATUALIZA no fund q1: Como você implementaria oegra de cin [https://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c0x] para uma classe que gerencia recursos bastante pesados, mas dos quais você deseja que eles ...

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

7 a resposta

A construção de passagem por valor e movimentação é um idioma ruim?

Como movemos a semântica em C ++, hoje em dia é comum fazer void set_a(A a) { _a = std::move(a); }O raciocínio é que sea é um rvalue, a cópia será elidida e haverá apenas um movimento. Mas o que acontece sea é um valor l? Parece que haverá uma ...

8 a resposta

Que otimização a semântica de movimento fornece se já temos o RVO?

Pelo que entendi, um dos propósitos de adicionar semântica de movimentação é otimizar o código chamando o construtor especial para copiar objetos "temporários". Por exemplo, ...

11 a resposta

O que são semânticas de movimento?

Acabei de ouvir o rádio Engenharia de Softwareentrevista em podcast com Scott Meyers [http://www.se-radio.net/2010/04/episode-159-c-0x-with-scott-meyers/]a respeito deC ++ 0x [http://en.wikipedia.org/wiki/C++11]. A maioria dos novos recursos fez ...

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