Resultados de la búsqueda a petición "move-semantics"
Mover Constructor vs Copiar Elision. ¿Cuál se llama?
Tengo dos piezas de código aquí para mostrarte. Son dos clases y cada una proporciona un Move Constructor y una función que devuelve un temporal. En el primer caso, la función que devuelve un temporal llama alMove Constructor En el segundo caso, ...
¿Qué optimización proporciona la semántica de movimiento si ya tenemos RVO?
Hasta donde entiendo, uno de los propósitos de agregar semántica de movimiento es optimizar el código llamando al constructor especial para copiar objetos "temporales". Por ejemplo, ...
push_back () y emplace_back () detrás de escena
Actualmente estoy aprendiendo C ++ por mi cuenta, y tengo curiosidad acerca de cómopush_back() yemplace_back() trabajar debajo del capó. Siempre he asumido queemplace_back() es más rápido cuando intenta construir y empujar un objeto grande hacia ...
Is std :: move safe en una lista de argumentos cuando se reenvía el argumento, no se mueve construido?
Tratando de proporcionar una solución parastd :: string_view y std :: string en std :: unordered_set [https://stackoverflow.com/q/51749081/364696], Estoy jugando reemplazandostd::unordered_set<std::string> constd::unordered_map<std::string_view, ...
move semantics std :: move
No entiendo muy bien elstd::move función template <class T> typename remove_reference<T>::type&& move(T&& a) { return a; }por quéremove_reference? ¿Podría alguien darme una explicación simple?
Uso correcto de `= delete` para métodos en clases
Es correcto el siguiente snipplet para anular la definición de todos los métodos y constructores generados para una clase? struct Picture { // 'explicit': no accidental cast from string to Picture explicit Picture(const string &filename) { /* ...
¿Hay algún caso en el que sea útil la devolución de una referencia RValue (&&)?
Hay una razón cuando una función debe devolver una referencia RValue? ¿Una técnica, o truco, o un idioma o patrón? MyClass&& func( ... ); Soy consciente del peligro de referencias de ...
Cómo implementar realmente la regla de cinco?
ACTUALIZA en el fond q1: ¿Cómo implementaría la regla de cinco [https://stackoverflow.com/questions/4782757/rule-of-three-becomes-rule-of-five-with-c0x] para una clase que gestiona recursos bastante pesados, pero de los cuales desea que se ...
Forma correcta (mover semántica) para devolver un std :: vector de la función que llama en C ++ 11
Quiero llenar std :: vector (o algún otro contenedor STL): class Foo { public: Foo(int _n, const Bar &_m); private: std::vector<Foo> fooes_; } 1.Ctor atractivo, rendimiento costoso std::vector<Foo> get_vector(int _n, const Bar &_m) { ...
Move o optimización de valor de retorno con nombre (NRVO)?
Dejemos que tengamos el siguiente código: std::vector<int> f() { std::vector<int> y; ... return y; } std::vector<int> x = ... x = f();arece que el compilador tiene dos enfoques aquí: (a) NRVO: Destruya x, luego construya f () en lugar de ...