Resultados da pesquisa a pedido "rvalue-reference"

1 a resposta

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)) {} };

1 a resposta

Estender a vida útil do temporário através de rvalue data-member trabalha com agregado, mas não com o construtor, por que?

Eu encontrei o seguinte esquema para prolongar uma vida temporária de obras, não sei se deveria, mas funciona. struct S { std::vector<int>&& vec; }; int main() { S s1{std::vector<int>(5)}; // construct with temporary std::cout << s1.vec[0] << ...

2 a resposta

Função modelada em C ++ 11 com chamada de parâmetro rvalue

Em alguma classe O, eu tenho função de modelotest2: struct A{int value;}; struct O{ A value; template<typename Args> static void test2(Args &&args){ std::cout << std::endl << "!!!" << std::is_rvalue_reference<decltype(args)>::value << std::endl; ...

2 a resposta

O `const &&` se liga a todos os pré-valores (e xvalores)?

O padrão C ++ define as seguintes funções excluídas; template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;Isso é para ajudar a garantir que as funções não sejam mal utilizadas, impedindo-as de ...

3 a resposta

Alguns esclarecimentos sobre referências de valor

Primeiro: onde estãostd::move estd::forward definiram? Sei o que eles fazem, mas não consigo encontrar provas de que seja necessário qualquer cabeçalho padrão para incluí-los. Às vezes em gcc44std::move está disponível e, às vezes, não, portanto, ...

3 a resposta

As referências de rvalue para const têm alguma utilidade?

Acho que não, mas gostaria de confirmar. Existe algum uso paraconst Foo&&, OndeFoo é um tipo de classe?

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?

1 a resposta

Por que essa função retorna uma referência lvalue, dados os argumentos rvalue?

A seguinte definição demin função template <typename T, typename U> constexpr auto min(T&& t, U&& u) -> decltype(t < u ? t : u) { return t < u ? t : u; }tem um problema: parece perfeitamente legal escrever min(10, 20) = 0;Isso foi testado com o ...

3 a resposta

Problema com “tipos móveis somente” no VC ++ 2010

Instalei recentemente o Visual Studio 2010 Professional RC para testá-lo e testar os poucos recursos do C ++ 0x implementados no VC ++ 2010. Instanciei umstd::vector dostd::unique_ptr, sem quaisquer problemas. No entanto, quando tento ...

2 a resposta

Valor de retorno ou referência de valor?

No novo livro de Scott Meyer, ele propõe um exemplo de uso para qualificadores de referência rvalue que se parece com isso: class Widget { private: DataType values; public: DataType& data() & { return values; } DataType data() && { return ...