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

1 la respuesta

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

4 la respuesta

vite el crecimiento exponencial de referencias constantes y referencias de valor en el constructor

Estoy codificando algunas clases con plantillas para una biblioteca de aprendizaje automático, y me enfrento a este problema muchas veces. Estoy utilizando principalmente el patrón de política, donde las clases reciben como políticas de argumento ...

4 la respuesta

¿Qué significa T&& (doble ampersand) en C ++ 11?

He estado buscando algunas de las nuevas características de C ++ 11 y una que he notado es el doble ampersand al declarar variables, comoT&& var. Para empezar, ¿cómo se llama esta bestia? Desearía que Google nos permitiera buscar puntuaciones ...

2 la respuesta

Uso correcto de `= delete` para métodos en clases

Es correcto el siguiente snipplet para anular la definición de todos los métodos y constructores generados para una clase? struct Picture { // 'explicit': no accidental cast from string to Picture explicit Picture(const string &filename) { /* ...

5 la respuesta

¿Hay algún caso en el que sea útil la devolución de una referencia RValue (&&)?

Hay una razón cuando una función debe devolver una referencia RValue? ¿Una técnica, o truco, o un idioma o patrón? MyClass&& func( ... ); Soy consciente del peligro de referencias de ...

6 la respuesta

Cómo implementar realmente la regla de cinco?

ACTUALIZA en el fond q1: ¿Cómo implementaría la regla de cinco [https://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c0x] para una clase que gestiona recursos bastante pesados, pero de los cuales desea que se ...

4 la respuesta

Sobrecarga en referencias de valor R y duplicación de código

Considera lo siguiente struct vec { int v[3]; vec() : v() {}; vec(int x, int y, int z) : v{x,y,z} {}; vec(const vec& that) = default; vec& operator=(const vec& that) = default; ~vec() = default; vec& operator+=(const vec& that) { v[0] += ...

5 la respuesta

rvalue función sobrecargando

Quiero sobrecargar una función para que manipule su argumento de alguna manera y luego devuelva una referencia al argumento, pero si el argumento no es mutable, entonces debería devolver un @ manipuladupd del argumento en su lugar. Después de ...

4 la respuesta

¿Por qué algunas personas usan el intercambio para asignaciones de movimiento?

Por ejemplo, stdlibc ++ tiene lo siguiente: unique_lock& operator=(unique_lock&& __u) { if(_M_owns) unlock(); unique_lock(std::move(__u)).swap(*this); __u._M_device = 0; __u._M_owns = false; return *this; } ¿Por qué no solo asignar los dos ...

4 la respuesta

emántica de @Move: ¿de qué se trata? [duplicar

Duplicado posible: ¿Puede alguien explicarme la semántica de movimiento? [https://stackoverflow.com/questions/3106110/can-someone-please-explain-move-semantics-to-me] Podría alguien señalarme una buena fuente o explicarme aquí cuáles son ...