Resultados da pesquisa a pedido "rvalue-reference"
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?
Por que o C ++ não move referências de rvalue de construção por padrão? [duplicado
Esta pergunta já tem uma resposta aqui: Referência de valor é tratada como um valor L [/questions/28483250/rvalue-reference-is-treated-as-an-lvalue] 4 respostas construtor de referência @value é chamado em vez do construtor de ...
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>&&)?
Não é possível vincular lvalue à referência rvalue
Eu tenho esse trecho de código de teste C ++, #include <vector> class A { std::vector<int> x; public: A(std::vector<int>&& _x) : x(_x) {} }; class B { A a; public: B(std::vector<int>&& _x) : a(/*move(*/_x/*)*/) {} };Eu estou passando_x para B ...
vite o crescimento exponencial de referências const e referências de rvalue no construtor
Estou codificando algumas classes de modelo para uma biblioteca de aprendizado de máquina e estou enfrentando esse problema muitas vezes. Estou usando principalmente o padrão de política, em que as classes recebem como argumento políticas de ...
inicialização inválida de referência não const a partir de um rvalue
Então, eu tenho a seguinte função: void scan(std::istream& is, Handler& h);Quero chamá-lo de maneiras diferentes, como: scan(std::cin, Handler()); scan(std::ifstream("myfile"), myhandler);O compilador reclama sobrestd::ifstream("myfile") ...
Posso usar a referência rvalue para temporário? É um comportamento indefinido ou não?
Atualizando a perguntaPor que esses exemplos de duas referências de rvalue têm comportamento diferente? [https://stackoverflow.com/questions/35315472/why-this-two-rvalue-references-examples-have-different-behavior] : Código fonte: int a = 0; ...
Por que as variáveis de referência rvalues não são rvalue?
Digamos que eu tenha duas sobrecargas de uma funçãof. f(T&&) ef(T&). Então no corpo deg: g(T&& t) { f(t);} a sobrecargaf(T&) será chamado porque t é considerado um valor l. Isso é muito surpreendente para mim. Como uma função com ...
Chamada ambígua com função de referência de valor r sobrecarregada
Eu tenho uma classe com as seguintes declarações: class IcoSphere { [...] private: int _addVertex(const glm::vec3 &p); int addVertex(glm::vec3 p); int addVertex(const glm::vec3 &&p); [...] };Então, eu estou chamando 'addVertex' assim: IcoSphere ...
Referência Rvalue é tratada como um Lvalue?
Eu postei esta resposta:https://stackoverflow.com/a/28459180/2642059 [https://stackoverflow.com/a/28459180/2642059]Que contém o seguinte código: void foo(string&& bar){ string* temp = &bar; cout << *temp << " @:" << temp << endl; }Ébar um rvalue ...