Resultados de la búsqueda a petición "move-semantics"
¿Es un miembro de datos de un objeto temporal un valor x en C ++ 11?
#include <vector> using namespace std; struct A { vector<int> coll; }; void f(const vector<int>&){} void f(vector<int>&&){} int main() { f(A().coll); // Is "A().coll" an xvalue? }¿C ++ 11 garantizaf(A().coll) llamarávoid f(vector<int>&&)?
¿Cuándo comenzará a marcar la diferencia la adición de un constructor de movimientos y un operador de asignación de movimientos?
Teniendo en cuenta la alta calidad de los compiladores de hoy en día con respecto a la optimización del valor de retorno (tanto RVO como NRVO), me preguntaba qué complejidad de clase es realmente significativa comenzar a agregar constructores de ...
Mover elemento de la matriz boost multi_index
Digamos que tengo un objeto móvil y no copiable y tengo una matriz de múltiples índices con índice random_access. Necesito mover mi objeto fuera del frente de la matriz, pero no puedo encontrar ningún método, eso me daría referencia rvalue / ...
¿Puedo mover-asignar un contenido de std :: map a otro std :: map?
¿Es posible insertar el contenido de un std :: map temporaltemp en otro std :: mapam mediante el uso de la semántica de movimiento, de modo que los valores de la temporal no se copian y se reutilizan? Digamos que uno tiene: std::map<int, Data> ...
Cómo mover elementos fuera de la cola de prioridad STL
La cola de prioridad STL de C ++ tiene un método void pop () y un método const ref top (). Por lo tanto, si desea mover elementos fuera de la cola, debe hacer algo como esto: T moved = std::move(const_cast<T&>(myQueue.top()))); myQeue.pop();Esto ...
Mover semántica para tipos POD-ish
¿Hay algún punto en implementar un constructor de movimientos y un operador de asignación de movimientos para una estructura o clase que contenga solo tipos primitivos? Por ejemplo, struct Foo { float x; float y; float z; /// ... ctor, copy ...
¿Por qué necesitamos establecer la referencia rvalue en null en move constructor?
//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references class Widget { public: Widget(Widget&& rhs) : pds(rhs.pds) // take source’s value { rhs.pds = nullptr; // why?? } private: struct ...
C ++ Move semántica y excepciones
En el próximo estándar C ++ 0x, ¿qué sucede cuando se lanza una excepción dentro / durante el constructor de movimiento? ¿Permanecerá el objeto original? ¿O están el objeto original y el de mover a un estado indefinido? ¿Cuáles son las garantías ...
Plantillas de operador de conversión genéricas y semántica de movimiento: ¿alguna solución universal?
Este es un seguimiento dePlantillas explícitas de operadores de conversión refcalificados en acción [https://stackoverflow.com/q/23377647/2644390]. He experimentado con muchas opciones diferentes y estoy dando algunos resultados aquí en un ...
Cómo devolver un fstream (C ++ 0x)
Creo que lo entenderé y comenzaré con el código: #include <iostream> #include <fstream> #include <string> class test : public std::ofstream { public: test(const std::string& filename) { this->open(gen_filename(filename)); }; test(const test&) = ...