Resultados de la búsqueda a petición "rvo"
Múltiples valores de retorno (enlaces estructurados) con tipos inmóviles y RVO garantizado en C ++ 17
Con C ++ 17, tendremos la posibilidad de devolver tipos inmóviles (incluidos los que no se pueden copiar) comostd::mutex, a través de lo que se puede considerar como optimización del valor de retorno garantizado (RVO):Elisión de copia garantizada ...
¿Por qué std :: move previene RVO?
En muchos casos, cuando se devuelve un local desde una función, RVO se activa. Sin embargo, pensé que usar explícitamente
C ++ Operador de asignación unificado move-semantics
EDIT: resuelto ver comentarios: no sé cómo marcar como resuelto sin una respuesta. Después de ver un video de Channel 9 sobre Perfect Forwarding / Move semántica en c ++ 0x, creí que esta era una buena manera de escribir los nuevos operadores de ...
Momento de los guardias de bloqueo basados en el alcance y los valores de retorno
class C { mutable std::mutex _lock; map<string,string> deep_member; public: auto get_big_lump() { std::unique_lock<std::mutex> lock(_lock); // establish scope guard return deep_member; // copy the stuff while it can't be changed on ...
¿Por qué no se permite RVO al devolver un parámetro?
Se indica en [C ++ 11: 12.8 / 31]: Esta elisión de operaciones de copiar / mover, llamada copia de elisión, está permitida [...]: - en una declaración de retorno en una función con un tipo de retorno de clase, cuando la expresión es el nombre ...