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

2 la respuesta

Función miembro .begin () y std :: begin ()

Llamar a la función miembro.begin() destd::vector ystd::begin() en los valores de los resultados en diferentes salidas, como muestra la siguiente prueba: vector<int> a{ 1, 2, 3 }; vector<int>::iterator it1 = move(a).begin(); // ...

1 la respuesta

Mover constructor para clase derivada

Tengo 2 clases: template<typename T> class base{ T t; public: base(base &&b): t(std::move(b.t)){} }; template<typename T, typename T2> class derived : protected base<T>{ T2 t2; public: derived(derived &&d): ...

3 la respuesta

Constructor / asignación de movimiento predeterminado y constructor / asignación de copia eliminada

De acuerdo con el estándar, Si la definición de una clase X no declara explícitamente un constructor de movimiento, uno se declarará implícitamente como predeterminado si y solo si - X no tiene un constructor de copia declarado por el ...

2 la respuesta

¿Por qué tengo que llamar a move en una referencia de rvalue?

En el siguiente código, ¿por qué la primera llamada nomkme = mvme_rv despacho aT& operator=(const T&&)? #include <iostream> #include <string> #include <vector> using namespace std; using T = vector<int>; int main() { T mvme(10, 1), mkme; T&& ...

4 la respuesta

¿Cómo se pueden usar los objetos movidos? [duplicar]

Esta pregunta ya tiene una respuesta aquí: ¿Qué puedo hacer con un objeto movido desde? [/questions/7027523/what-can-i-do-with-a-moved-from-object] 2 respuestasDespués de mover un objeto, debe ser destruible: T obj; func(std::move(obj)); // ...

1 la respuesta

¿Puede Rust optimizar la copia en bits durante el movimiento de un objeto algún día?

Considera el fragmento struct Foo { dummy: [u8; 65536], } fn bar(foo: Foo) { println!("{:p}", &foo) } fn main() { let o = Foo { dummy: [42u8; 65536] }; println!("{:p}", &o); bar(o); }Un ...

2 la respuesta

¿Cuál es la justificación de los operadores de asignación de movimientos inseguros y de autoasignación en la biblioteca estándar?

La política estándar de la biblioteca sobre la asignación de movimiento es quela implementación puede asumir que la autoasignación nunca sucederá [/a/13127916]; Esto me parece una muy mala idea, dado que: el contrato de asignación "regular" ...

4 la respuesta

¿Es este el uso correcto de la semántica 'mover' de C ++?

Esta noche he estado mirando un código en el que he estado trabajando durante los últimos días, y comencé a leer sobre semántica de movimientos, específicamente std :: move. ¡Tengo algunas preguntas que hacerle a los profesionales para asegurarme ...

3 la respuesta

¿Por qué no se usa la construcción de movimiento al iniciar un vector desde la lista de inicializadores (a través del constructor implícito)

Para demostrar la semántica de movimiento, escribí el siguiente código de ejemplo, con un constructor implícito de int. struct C { int i_=0; C() {} C(int i) : i_( i ) {} C( const C& other) :i_(other.i_) { std::cout << "A copy construction was ...

2 la respuesta

Mover constructor en objeto derivado

Cuando tiene un objeto derivado con un constructor de movimiento, y el objeto base también tiene semántica de movimiento, ¿cuál es la forma correcta de llamar al constructor de movimiento del objeto base desde el constructor de movimiento de ...