Resultados da pesquisa a pedido "move-constructor"
Mover Construtor vs Copiar Elision. Qual deles é chamado?
Eu tenho dois pedaços de código aqui para mostrar a você. São duas classes e cada uma fornece um Move Constructor e uma função que retorna temporariamente. No primeiro caso, a função que retorna uma chamada temporária deMover Construtor No ...
Condições para geração automática de operador padrão / copiar / mover e copiar / mover atribuição?
Quero atualizar minha memória nas condições em que um compilador normalmente gera automaticamente um construtor padrão, um construtor de cópias e um operador de atribuição. Lembro-me de que havia algumas regras, mas não me lembro e também não ...
Como devo lidar com mutexes em tipos móveis em C ++?
Por design,std::mutex não é móvel nem cópia-construtível. Isso significa que uma classeA, que possui um mutex, não receberá um construtor de movimentação padrão. Como eu faria esse tipoA móvel de maneira segura para threads?
Entendendo `std :: is_move_constructible`
Tipos sem um construtor de movimentação, mas com um construtor de cópia que aceitaconst T& argumentos, satisfazerstd::is_move_constructible. Por exemplo, no seguinte código: #include <type_traits> struct T { T(const T&) {} //T(T&&) = delete; }; ...
Referência de rvalor do C ++ 11 que chama o construtor de cópia também
Eu tenho testado alguns recursos do C ++ 11 de alguns. Me deparei com referências de valor r e movo construtores. Eu implementei meu primeiro construtor de movimento, aqui está: #include <iostream> #include <vector> using namespace std; class ...
Por que este construtor de cópia é chamado em vez do construtor de movimentação?
O trecho de código a seguir faz com que o construtor de cópia seja chamado onde eu esperava que o construtor de movimento fosse chamado:
Construtor de movimento explícito
Tentando compilar o seguinte código: struct Foo { explicit Foo ( void ) { } explicit Foo ( Foo&& rhs ) { } }; Foo bar ( void ) { return Foo(); }Obtendo o seguinte erro: chamada para o construtor de cópias excluído implicitamente de 'Foo' Bem, ...