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

2 la respuesta

¿Los operadores de asignación generados implícitamente deben ser re-calificados?

El siguiente código compila sin problema en gcc 4.8.1:

3 la respuesta

¿Las referencias rvalue permiten referencias colgantes?

Considera lo siguiente. #include <string> using std::string; string middle_name () { return "Jaan"; } int main () { string&& danger = middle_name(); // ?! return 0; }Esto no calcula nada, pero se compila sin errores y demuestra algo que me ...

2 la respuesta

valores y objetos temporales en el FCD

Me llevó bastante tiempo comprender la diferencia entre un valor r y un objeto temporal. Pero ahora el borrador final del comité dice en la página 75: Unrvalue [...]esun valor xun objeto temporalo subobjeto del mismo, o un valor que no está ...

2 la respuesta

¿Por qué std :: move toma una referencia hacia adelante?

La implementación destd::move básicamente se ve así: template<typename T> typename std::remove_reference<T>::type&& move(T&& t) { return static_cast<typename std::remove_reference<T>::type&&>(t); }Tenga en cuenta que el parámetro destd::move es ...

4 la respuesta

¿Por qué la referencia de valor de C ++ 0x no es la predeterminada?

Una de las nuevas características interesantes del próximo estándar de C ++, C ++ 0x, son "referencias de valor". Una referencia rvalue es similar a una referencia lvalue (normal), excepto que puede vincularse a un valor temporal (normalmente, ...

1 la respuesta

¿Por qué es pasar por valor y pasar por rvalue overload c ++ function call ambiguous?

Si tengo, void foo(Bar c); void foo(Bar&& c); foo(Bar());¿Por qué la llamada a 'foo' es ambigua? ¿No es Bar () en el argumento foo claramente un rValue?

3 la respuesta

¿La referencia constante prolonga la vida de un objeto temporal devuelto por un objeto temporal?

Sé que la referencia constante prolonga la vida de un temporal a nivel local. Ahora me pregunto si esta propiedad puede extenderse en una cadena de objetos temporales, es decir, si puedo definir con seguridad: std::string const& foo = ...

1 la respuesta

¿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 ...

4 la respuesta

prolongando la vida de los temporales

¿Cuál es la razón de diseño detrás de permitir esto const Foo& a = function_returning_Foo_by_value();pero no esto Foo& a = function_returning_Foo_by_value();? ¿Qué podría salir mal en la segunda línea (que ya no saldría mal en la primera línea)?

2 la respuesta

Diferencia exacta entre rvalue y lvalue

Mientras estaba leyendohttp://thbecker.net/articles/rvalue_references/section_01.html, Me sigue siguiendo snippiest.