Resultados da pesquisa a pedido "move-semantics"

4 a resposta

Por que mover a semântica?

Deixe-me começar dizendo que li algumas das muitas perguntas já feitas sobre a semântica de movimento. Esta questão não é sobre como usar a semântica de movi...

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

1 a resposta

Lvalue para desvalorizar a ligação de referência

2 a resposta

Mover construtor no objeto derivado

Quando você tem um objeto derivado com um construtor de movimentação e o objeto base também possui semântica de movimentação, qual é a maneira correta de chamar o construtor de movimentação de objeto base a partir do construtor de movimentação de ...

2 a resposta

Qual é a justificativa para operadores de atribuição de movimentação inseguros e com atribuição automática na biblioteca padrão?

A política da biblioteca padrão sobre atribuição de movimentação é quea implementação pode assumir que a auto-atribuição nunca acontecerá [/a/13127916]; isso me parece uma péssima idéia, já que: o contrato de atribuição "regular" ("cópia") em C ...

4 a resposta

Esse uso correto da semântica 'move' do C ++?

Hoje à noite, estive analisando alguns códigos nos quais trabalhei nos últimos dias e comecei a ler sobre a semântica de movimentos, especificamente std :: move. Eu tenho algumas perguntas para pedir aos profissionais para garantir que eu estou ...

3 a resposta

Por que a construção de movimentação não é usada ao iniciar um vetor da lista de inicializadores (via construtor implícito)

Para demonstrar a semântica de movimentação, escrevi o seguinte código de exemplo, com um construtor implícito de int. struct C { int i_=0; C() {} C(int i) : i_( i ) {} C( const C& other) :i_(other.i_) { std::cout << "A copy construction was ...

1 a resposta

Um membro de dados de um objeto temporário é um xvalue no C ++ 11?

#include <vector> using namespace std; struct A { vector<int> coll; }; void f(const vector<int>&){} void f(vector<int>&&){} int main() { f(A().coll); // Is "A().coll" an xvalue? }O C ++ 11 garantef(A().coll) chamarávoid f(vector<int>&&)?

4 a resposta

Por que nenhuma atribuição de movimento / construtor de movimento padrão?

Eu sou um programador simples. As variáveis dos membros da minha classe geralmente consistem em tipos de POD e contêineres STL. Por causa disso, raramente preciso escrever operadores de atribuição ou copiar construtores, pois eles são ...

5 a resposta

Quando a adição de um construtor de movimento e um operador de atribuição de movimento realmente fará diferença?

Considerando a alta qualidade dos compiladores atuais em relação à otimização do valor de retorno (RVO e NRVO), fiquei pensando em que complexidade de classe é realmente significativo começar a adicionar construtores de movimento e operadores de ...