Resultados de la búsqueda a petición "rvalue-reference"

3 la respuesta

Se requiere que los objetos que se trasladan para ser destruidos?

Si muevo-construyoa desdeb, sigue siendonecesari para destruirb, ¿o puedo escapar sin hacerlo? sta pregunta cruzó mi mente durante la implementación de unaoptional<T> modelo. Extracto ~optional() { if (initialized) { ...

2 la respuesta

¿Qué es una referencia rvalue para el tipo de función?

Recientemente he pensado en los conceptos de gl ++, xvalues y prvalues de C ++ 0x, así como en las referencias de valor. Sin embargo, hay una cosa que aún me elude: Que es "una referencia de valor de tipo de función"? Literalmente se ...

5 la respuesta

¿Cómo hacer que el parámetro de referencia de valor de plantilla SOLO se una a la referencia de valor?

Estoy escribiendo una biblioteca de red y uso mucho la semántica de movimiento para manejar la propiedad de los descriptores de archivos. Uno de mi clase desea recibir envoltorios de descriptores de archivos de otros tipos y tomar posesión, por ...

6 la respuesta

En qué condiciones debería pensar en implementar un constructor de movimiento y un operador de movimiento?

Para constructores de copia estándar y operadores de asignación, siempre pienso en implementarlos odelete desactivando los valores predeterminados, si mi clase implementa un destructor. Para la nuevamove constructor ymove operator, ¿cuál es la ...

12 la respuesta

Mover captura en lambda

¿Cómo capturo por movimiento (también conocido como referencia de valor) en una lambda C ++ 11? Estoy tratando de escribir algo como esto: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ ...

4 la respuesta

Se extiende la vida útil de un xvalue cuando está vinculado a una referencia constante de valor?

Si escribo el siguiente código: #include <iostream> using namespace std; int main() { cout << &(int &&)123 << endl; return 0; }Luegog++ se queja: foo.cc: In function ‘int main()’: foo.cc:7:20: error: taking address of xvalue (rvalue reference) ...

2 la respuesta

C ++ 11: ¿Por qué se permite asignar valores?

De lo que entiendo, la razón por la cual es peligroso devolver referencias de valores a las funciones se debe al siguiente código: T&& f(T&& x) { do_something_to_T(x); return static_cast<T&&>(x); } T f(const T& x) { T x2 = x; ...

2 la respuesta

C ++ 11 make_pair con parámetros de plantilla especificados no compila

Solo estaba jugando con g ++ 4.7 (una de las instantáneas posteriores) con -std = c ++ 11 habilitado. Traté de compilar parte de mi código base existente y un caso que falló me confunde un poco. Agradecería si alguien puede explicar lo que ...