Resultados de la búsqueda a petición "rvo"
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 ...
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 ...
¿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
¿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 ...
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 ...