Resultados da pesquisa a pedido "move-semantics"

2 a resposta

Como melhorar a passagem de parâmetros std :: vector (mover semântica?)

Parece que não consigo entender completamente a semântica de movimentos: quero preencher umstd::vector (membro de uma classe) de uma função externa. Atualmente, tenho algo como: void fillVector(MyClass & myclass) { std::vector<int> vec; /* ...

2 a resposta

Como o Rust fornece semântica de movimentação?

oSite do idioma Rust [http://www.rust-lang.org/]as reivindicações movem a semântica como um dos recursos do idioma. Mas não vejo como a semântica de movimentos é implementada no Rust. As caixas de ferrugem são o único local em que a semântica de ...

2 a resposta

Pode `* this` ser` move () `d?

Eu gostaria de definir uma classe para organizar dados; quando o empacotamento terminar, eu gostaria demove os dados do empacotamento de fora dele, o que provavelmente invalidará o objeto de empacotamento. Eu acredito que isso é possível com ...

3 a resposta

O que são semânticas de movimento no Rust?

No Rust, existem duas possibilidades de fazer uma referência Pedir emprestado, ou seja, faça uma referência, mas não permita a alteração do destino de referência. o& O operador pede emprestada a propriedade de um valor. Emprestar mutuamente, ou ...

1 a resposta

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) ] { ...

1 a resposta

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

11 a resposta

O que são semânticas de movimento?

Acabei de ouvir o rádio Engenharia de Softwareentrevista em podcast com Scott Meyers [http://www.se-radio.net/2010/04/episode-159-c-0x-with-scott-meyers/]a respeito deC ++ 0x [http://en.wikipedia.org/wiki/C++11]. A maioria dos novos recursos fez ...

1 a resposta

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

1 a resposta

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

2 a resposta

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