Resultados de la búsqueda a petición "rvalue-reference"
¿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 ...
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 ...
¿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 ...
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) { /* ...
¿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 ...
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 ...
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] += ...
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 ...
¿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 ...
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 ...