return-value-optimization

Co to jest copy elision I return value optimization?

Co to jest copy elision? Co to jest (nazwana) optymalizacja wartości zwrotnej? Co to oznacza? W jakich sytuacjach mogą wystą ... pytania, prawdopodobnie szukasz wstęp. przegląd techniczny znajduje się norma odniesienia. Zobacz typowe przypadki tutaj .

C++11 Return value optimization or move? [duplikat]

To pytanie ma już odpowiedź tutaj: C++11 rvalues and move semantyka confusion (return statement) ... erialBuffer buffer( size ); read( begin( buffer ), end( buffer ) ); return move( buffer ); } Czego powinienem użyć?

Czy w C++ nadal jest złą praktyką zwracanie wektora z funkcji?

Skrócona wersja: w wielu językach programowania często zwraca się duże obiekty-takie jak wektory/tablice. Czy ten styl jest ... niki. W rezultacie pierwsza forma była przez długi czas głównym zapachem kodu w programowaniu C++. Mam nadzieję, że już nie?

Zrozumienie optymalizacji wartości zwrotnej i zwrotów tymczasowych-C++

Proszę wziąć pod uwagę trzy funkcje. std::string get_a_string() { return "hello"; } std::string get_a_string1() { r ... m, że jest w porządku, ponieważ zwracam go według wartości, a nie zwracam jakiekolwiek odniesienie do niego. Jakieś pomysły?

Move czy Named Return Value Optimization (Nrvo)?

Powiedzmy, że mamy następujący kod: std::vector<int> f() { std::vector<int> y; ... return y; } std::vec ... f () in temp space, move f () into x, destruct f (). Czy kompilator może używać dowolnego podejścia, zgodnie ze standardem?

Czy zwracanie z `std:: move` jest sensowne w przypadku wielu poleceń return?

Zdaję sobie sprawę, że zwykle nie jest to dobry pomysł, aby wrócić z std::move, tzn. bigObject foo() { bigObject result; /* ... esult; if(use_fixed_ret) result = fixed_ret; else{ prepare_object(result); } return result; }

const reference to temporary vs. return value optimization

Zdaję sobie sprawę z faktu, że przypisanie wartości R do odniesienia const lvalue wydłuża czas pracy tymczasowej do końca zak ... amp; jest gorsze niż jej nie używanie? (Myślę na przykład o semantyce C++11 move, Jeśli LargeObject mA zaimplementowane ...)