Resultados da pesquisa a pedido "move-semantics"

4 a resposta

Como os objetos movidos podem ser usados? [duplicado]

Esta pergunta já tem uma resposta aqui: O que posso fazer com um objeto movido de? [/questions/7027523/what-can-i-do-with-a-moved-from-object] 2 respostasDepois de mover um objeto, ele deve ser destrutível: T obj; func(std::move(obj)); // don't ...

2 a resposta

Por que eu tenho que chamar move em uma referência rvalue?

No código abaixo, por que a primeira chamada nãomkme = mvme_rv expedir paraT& operator=(const T&&)? #include <iostream> #include <string> #include <vector> using namespace std; using T = vector<int>; int main() { T mvme(10, 1), mkme; T&& mvme_rv ...

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

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

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>&&)?

2 a resposta

Mover elemento da matriz boost_ multi-index

Digamos que eu tenha um objeto móvel e não copiável e que tenha um array multi-index com o índice random_access. Preciso mover meu objeto para fora da frente da matriz, mas não consigo encontrar nenhum método que me daria referência rvalue / ...

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

3 a resposta

C ++ Move semântica e exceções

No próximo padrão C ++ 0x, o que acontece quando uma exceção é lançada dentro / durante o construtor de movimentação? O objeto original permanecerá? ou o objeto original e o objeto de mudança estão em um estado indefinido? quais são as garantias ...