Resultados da pesquisa a pedido "rvalue"

3 a resposta

Por que posso impedir conversões implícitas para tipos primitivos, mas não definidos pelo usuário?

Os padrões C ++ de alta integridade sugerem que argumentos rvalue para funções podem ser excluídos, impedindo conversões ...

1 a resposta

Um membro de dados de um objeto temporário é um xvalue no C ++ 11?

#include <vector> using namespace std; struct A { vector<int> coll; }; void f(const vector<int>&){} void f(vector<int>&&){} int main() { f(A().coll); // Is "A().coll" an xvalue? }O C ++ 11 garantef(A().coll) chamarávoid f(vector<int>&&)?

1 a resposta

Por que esse rvalue não é promovido para um lvalue conforme especificado na referência?

oReferência de Ferrugem [https://doc.rust-lang.org/reference.html#lvalues-rvalues-and-temporaries]diz: O operando esquerdo de uma expressão de atribuição ou atribuição de composto é um contexto de valor l, como é o operando único de um ...

1 a resposta

Por que std :: forward tem duas sobrecargas?

Dadas as seguintes regras de recolhimento de referência T& & ->T&T&& & ->T&T& && ->T&T&& && ->T&&A terceira e quarta regra implicam queT(ref qualifer) && é a transformação da identidade, ou seja,T& permanece emT& eT&& permanece emT&&. Por que ...

2 a resposta

O que o static_cast <T> faz com um T &?

Então eu pergunteiessa questão [https://stackoverflow.com/q/37967446/2642059]e eu estava tentando resolver isso viastatic_cast. (Aliás, resolve o problema, só não tenho certeza se entendi o porquê.) No código: vector<int> foo = {0, 42, 0, 42, ...

3 a resposta

A referência const prolonga a vida útil de um objeto temporário retornado por um objeto temporário?

Eu sei que a referência const prolonga a vida de um local temporariamente. Agora, estou me perguntando se essa propriedade pode ser estendida em uma cadeia de objetos temporários, ou seja, se eu posso definir com segurança: std::string const& ...

1 a resposta

Por que passar por valor e passar por sobrecarga rvalue chamada de função c ++ é ambígua?

Se eu tiver, void foo(Bar c); void foo(Bar&& c); foo(Bar());por que a chamada para 'foo' é ambígua? Bar () no argumento foo não é claramente um rValue?

2 a resposta

Atribuindo Rvalue retornado da função para outro Rvalue

class Test { public: int n1; }; Test func() { return Test(); } int main() { func() = Test(); }Isso não faz sentido para mim. Como e por que isso é permitido? É um comportamento indefinido? Se uma função retorna um rvalue, como é possível definir ...

2 a resposta

Compreendendo o aviso: vinculando valor r a referência valor l

Quero passar uma estrutura por referência para que não seja copiada, mas o Resharper está dando o aviso abaixo: struct sometype { }; sometype foo() { sometype x; return x; } void bar() { sometype & a = foo();//Binding r-value to l-value ...

1 a resposta

atribuindo a rvalue: por que isso compila?

No exemplo a seguir: class A { private: double content; public: A():content(0) {} A operator+(const A& other) { content += other.content; return *this; } void operator=(const A& other) { content = other.content; } };A é um invólucro simples para ...