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

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

1 la respuesta

¿Por qué las clases de contenedor de Qt no permiten tipos de elementos móviles, no copiables?

Las clases de contenedor QtQList<T>, QVector<T> etc. requieren que sus tipos de elementos sean copiables. Desde C ++ 11, los contenedores STL requieren que su tipo de elemento sea copiable o solo móvil. ¿Por qué los contenedores Qt no admiten ...

1 la respuesta

¿Por qué obtiene helper of std :: tuple return rvalue reference en lugar de value

Si mirasget, la función auxiliar parastd::tuple, notará la siguiente sobrecarga: template< std::size_t I, class... Types > constexpr std::tuple_element_t<I, tuple<Types...> >&& get( tuple<Types...>&& t );En otras palabras, devuelve ...

1 la respuesta

Valores de retorno para objetos activos

En 2010, Herb Sutter abogó por el uso de objetos activos en lugar de hilos desnudos en unartículo [http://www.drdobbs.com/parallel/prefer-using-active-objects-instead-of-n/225700095] en el Dr. Dobb's. Aquí hay una versión C ++ 11: class Active ...

1 la respuesta

¿Por qué no puedo mover std :: unique_ptr dentro de lambda en C ++ 14?

Quiero pasar un puntero sin procesar dentro de lambda, pero no quiero que se filtre, si no se invoca el lambda. Se parece a esto: void Clean(std::unique_ptr<int>&& list); void f(int* list) { thread_pool.Push([list = std::unique_ptr<int>(list) ] ...

3 la respuesta

¿Qué son las semánticas de movimiento en Rust?

En Rust, hay dos posibilidades para tomar una referencia. Pedir prestado, es decir, tome una referencia pero no permita la mutación del destino de referencia. los& El operador toma prestada la propiedad de un valor. Pedir prestado mutablemente, ...

2 la respuesta

¿Puede `* this` ser` move () `d?

Me gustaría definir una clase para ordenar datos; cuando finalice la clasificación, me gustaríamove los datos ordenados desde su interior, lo que probablemente invalidará el objeto de cálculo. Creo que esto es posible con elstatic ...

2 la respuesta

¿Cómo proporciona Rust la semántica de movimiento?

losSitio web de Rust Language [http://www.rust-lang.org/]Las reclamaciones mueven la semántica como una de las características del lenguaje. Pero no puedo ver cómo se implementa la semántica de movimiento en Rust. Las cajas de óxido son el único ...

2 la respuesta

Cómo mejorar el paso de parámetros std :: vector (¿mover semántica?)

Parece que no puedo entender completamente la semántica de movimiento: quiero llenar unstd::vector (miembro de una clase) de una función externa. Actualmente, tengo algo como: void fillVector(MyClass & myclass) { std::vector<int> vec; /* Filling ...

2 la respuesta

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