Resultados de la búsqueda a petición "move-constructor"

1 la respuesta

Heredar los constructores de copia y movimiento de la clase base usando la palabra clave "using"

Quiero heredar el constructor de copia de la clase base usandousing palabra clave: #include <iostream> struct A { A() = default; A(const A &) { std::cerr << __PRETTY_FUNCTION__ << std::endl; } A( A &&) { std::cerr << __PRETTY_FUNCTION__ << ...

5 la respuesta

¿Cómo debo lidiar con mutexes en tipos móviles en C ++?

Por diseño,std::mutex No es móvil ni se puede copiar. Esto significa que una claseA, que contiene un mutex, no recibirá un constructor de movimiento predeterminado. ¿Cómo haría este tipo?A movible de una manera segura?

3 la respuesta

¿Condiciones para la generación automática del operador de asignación predeterminado / copiar / mover y copiar / mover asignación?

Quiero actualizar mi memoria en las condiciones en que un compilador generalmente genera automáticamente un constructor predeterminado, un constructor de copia y un operador de asignación. Recuerdo que había algunas reglas, pero no recuerdo, y ...

2 la respuesta

El constructor de movimiento no se llama al lanzar una excepción

Tengo una variable que acumula la excepción actual y necesita ser limpiada cuando se lanza la excepción actual (para que el mismo error no sea reportado nuevamente). El problema es esethrow std::move(ex); no llama al constructor de movimiento ...

3 la respuesta

Comprender `std :: is_move_constructible`

Tipos sin un constructor de movimiento, pero con un constructor de copia que aceptaconst T& argumentos, satisfacerstd::is_move_constructible. Por ejemplo, en el siguiente código: #include <type_traits> struct T { T(const T&) {} //T(T&&) = ...

2 la respuesta

Mover Constructor vs Copiar Elision. ¿Cuál se llama?

Tengo dos piezas de código aquí para mostrarte. Son dos clases y cada una proporciona un Move Constructor y una función que devuelve un temporal. En el primer caso, la función que devuelve un temporal llama alMove Constructor En el segundo caso, ...

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

2 la respuesta

move constructor y copy constructor en C ++

Mi comprensión es que se llama a un constructor de movimiento si existe cuando devolvemos un objeto local de una función. Sin embargo, me encontré con una situación en la que se llamó al constructor de copias, como se muestra en el siguiente ...

2 la respuesta

¿Se producen automáticamente los constructores de movimiento?

Tengo una gran clase que contiene muchos contenedores STL. ¿El compilador realizará automáticamente un constructor de movimiento que moverá esos contenedores al destino o tengo que hacer el mío?

6 la respuesta

¿Por qué la llamada explícita del constructor de movimiento base realmente llama al constructor de copia base? [duplicar

Esta pregunta ya tiene una respuesta aquí: Move constructor en objeto derivado [/questions/4086800/move-constructor-on-derived-object] 2 respuestas Estoy tratando de llamar a la clase base move ctor explícitamente a través de la clase derivada ...