Resultados de la búsqueda a petición "rvalue"
¿Los operadores de asignación generados implícitamente deben ser re-calificados?
El siguiente código compila sin problema en gcc 4.8.1:
¿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 ...
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á ...
¿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 ...
¿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, ...
¿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?
¿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 = ...
¿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 ...
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)?
Diferencia exacta entre rvalue y lvalue
Mientras estaba leyendohttp://thbecker.net/articles/rvalue_references/section_01.html, Me sigue siguiendo snippiest.