Resultados da pesquisa a pedido "move-semantics"

2 a resposta

Versão somente mover da função std ::

Porquestd::function é copiável, o padrão exige que as chamadas usadas para construí-lo também sejam copiáveis: n337 (20.8.11.2.1) template<class F> function(F f); Requer:F deve ser CopyConstructible.f deve ser Callable (20.8.11.2) para ...

1 a resposta

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

1 a resposta

Por que o `std :: stringstream :: stringstream (std :: string &&)` não existe?

eu estava esperandostringstream tem um construtor que rouba seu conteúdo inicial de umstring&&. Tais interespécies "movem construtores" geralmente não existem no STL? Se não, por que não?

2 a resposta

Std :: move e std :: copy são idênticos?

Eu tentei fazer algo como: std::copy(std::make_move_iterator(s1.begin()), std::make_move_iterator(s1.end()), std::make_move_iterator(s2.begin()));E recebi este erro: error: using xvalue (rvalue reference) as lvalue *__result ...

2 a resposta

Elementos não copiáveis em vetor

Eu tenho uma classe não copiável (ou seja, o construtor de cópias e o operador de atribuição estão marcados como 'excluir'). Eu gostaria de mantê-los em um std :: vector. É uma classe RAII, portanto, simplesmente o armazenamento do ponteiro ou ...

2 a resposta

Mover ou trocar um fluxo de string

Eu quero mover uma sequência de strings, no aplicativo do mundo real, tenho algum membro de dados da classe sequência de strings, que desejo reutilizar para diferentes strings durante a operação. stringstream não possui uma atribuição de cópia ...

4 a resposta

copy vs std :: move for ints

Qual é a diferença entre copy padrão e std :: move nesse exemplo?Depois demove o objeto existe alguma dependência entre os novos e os antigos?int main () { int a = 100; std::cout<<&a<<std::endl; auto a_copy = a; // deduced as ...

2 a resposta

implementação do visual studio de "move semântica" e "rvalue reference"

Me deparei com um vídeo do YouTube na concorrência c ++ 11 (parte 3) e o código a seguir, que compila e gera o resultado correto no vídeo. No entanto, recebi um erro de compilação desse código usando o Visual Studio 2012. O compilador reclama do ...

4 a resposta

Mover construtor para std :: string de char *

Eu tenho uma funçãof retornando umchar*. A documentação da função diz: The user must delete returned stringEu quero construir umstd::string a partir dele. As coisas triviais a fazer é: char* cstring = f(); std::string s(cstring); delete ...

2 a resposta

Por que std :: move usa uma referência direta?

A implementação destd::move basicamente se parece com isso: template<typename T> typename std::remove_reference<T>::type&& move(T&& t) { return static_cast<typename std::remove_reference<T>::type&&>(t); }Observe que o parâmetro destd::move é uma ...