Resultados de la búsqueda a petición "rvalue-reference"
¿Es un miembro de datos de un objeto temporal un valor x en 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? }¿C ++ 11 garantizaf(A().coll) llamarávoid f(vector<int>&&)?
¿La mejor forma para constructores? Pasar por valor o referencia?
Me pregunto la mejor forma para mis constructores. Aquí hay un código de muestra: class Y { ... } class X { public: X(const Y& y) : m_y(y) {} // (a) X(Y y) : m_y(y) {} // (b) X(Y&& y) : m_y(std::forward<Y>(y)) {} // (c) Y m_y; } Y f() { return ...
¿Por qué C ++ no mueve las referencias de valor de construcción por defecto? [duplicar
Esta pregunta ya tiene una respuesta aquí: @Rvalue Reference se trata como un Lvalue? [/questions/28483250/rvalue-reference-is-treated-as-an-lvalue] 4 respuestase llama al constructor de referencia @Lvalue en lugar del constructor de referencia ...
rvalue refs y std :: move
¿Alguien puede explicar por qué B no compila, pero C sí? No entiendo por qué se requiere std :: move ya que la variable ya es un rvalue ref.
Constructor C ++ con referencia rvalue.
Considera esta clase con tres constructores:
¿Por qué el constructor de movimiento definido por el usuario deshabilita el constructor de copia implícito?
Mientras leo boost / shared_ptr.hpp, vi este código:
Referencia de valor: ¿Por qué no se mueven implícitamente los valores?
En el artículo de Artima sobre C ++ rvalue reference (http://www.artima.com/cppsource/rvalue.html) hay palabras:Por eso es necesario decir mover (x) en lugar...