Resultados da pesquisa a pedido "move-constructor"
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 ...
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, ...
Por que precisamos definir a referência rvalue como null no construtor move?
//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references class Widget { public: Widget(Widget&& rhs) : pds(rhs.pds) // take source’s value { rhs.pds = nullptr; // why?? } private: struct ...
A regra de não incorporar std :: string em exceções ainda é válida com os construtores de movimentação?
Ouvi há algum tempo que não deveria criar classes de exceção que teriam campos destd::string tipo. Isso é o queO site Boost diz [http://www.boost.org/community/error_handling.html]. A lógica é questd::string O construtor de cópias pode lançar uma ...
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?
Mover construtor não é chamado ao lançar uma exceção
Eu tenho uma variável que acumula a exceção atual e precisa ser limpa quando a exceção atual é lançada (para que o mesmo erro não seja relatado novamente). O problema é quethrow std::move(ex); não chama o construtor de movimentação (o ...
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; }; ...
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 ...
Por que o C ++ não move referências de rvalue de construção por padrão? [duplicado
Esta pergunta já tem uma resposta aqui: Referência de valor é tratada como um valor L [/questions/28483250/rvalue-reference-is-treated-as-an-lvalue] 4 respostas construtor de referência @value é chamado em vez do construtor de ...
Os construtores de movimentação são produzidos automaticament
Tenho uma classe grande segurando muitos contêineres ST O compilador fará automaticamente um construtor de movimentação que moverá esses contêineres para o destino ou eu tenho que criar a minh