Resultados da pesquisa a pedido "move-semantics"
Argumento do construtor C ++ 11: std :: move e value ou std :: forward e rvalue reference
Qual dos dois abaixo deve ser o preferido e por quê? struct X { Y data_; explicit X(Y&& data): data_(std::forward<Y>(data)) {} };vs struct X { Y data_; explicit X(Y data): data_(std::move(data)) {} };
Std :: move (* this) é um bom padrão?
Para que esse código com os qualificadores de referência C ++ 11 funcionem conforme o esperado, tenho que introduzir umstd::move(*this) isso não parece certo. #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" ...
Por que não consigo mover o std :: unique_ptr dentro do lambda no C ++ 14?
Quero passar um ponteiro bruto dentro do lambda, mas não quero que ele vaze, se o lambda não for chamado. Se parece com isso: void Clean(std::unique_ptr<int>&& list); void f(int* list) { thread_pool.Push([list = std::unique_ptr<int>(list) ] { ...
Retornar valores para objetos ativos
Em 2010, Herb Sutter defendia o uso de objetos ativos em vez de fios nus em um artigo [http://www.drdobbs.com/parallel/prefer-using-active-objects-instead-of-n/225700095] no Dr. Dobb. Aqui está uma versão do C ++ 11: class Active { public: ...
Por que o auxiliar std :: tuple retorna a referência rvalue em vez de value
Se você olhar paraget, a função auxiliar parastd::tuple, você notará a seguinte sobrecarga: template< std::size_t I, class... Types > constexpr std::tuple_element_t<I, tuple<Types...> >&& get( tuple<Types...>&& t );Em outras palavras, ele ...
Por que as classes de contêiner do Qt não permitem tipos de elementos móveis e não copiáveis?
As classes de contêiner QtQList<T>, QVector<T> etc. exigem que seus tipos de elementos sejam copiáveis. Desde o C ++ 11, os contêineres STL exigem que seu tipo de elemento seja apenas copiável ou móvel. Por que os contêineres Qt não suportam ...
Um destruidor virtual padrão impede operações de movimentação geradas pelo compilador?
Inspirado no postPor que o destruidor desativa a geração de métodos de movimentação implícitos? [https://stackoverflow.com/questions/33932824/why-destructor-disabling-the-generation-of-implicit-move-functions] , Fiquei pensando se o mesmo se ...