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