copy-and-swap

Czym jest idiom kopiowanie i wymiana?

Czym jest ten idiom i kiedy należy go używać? Jakie problemy rozwiązuje? Czy idiom zmienia się po użyciu C++11? Chociaż było ... unkcja możliwa? Co to jest copy elision i jak optymalizuje idiom copy-and-swap C++: dynamiczna alokacja tablicy obiektów?

funkcja wymiany znajomych publicznych

W pięknej odpowiedzi na copy-and-swap-idiom jest kawałek kodu, który potrzebuję pomocy: class dumb_array { public: // ... cić friend iter begin() i friend iter end() w ten sam sposób wewnątrz klasy? Myślę, że {[1] } nie jest tu potrzebny, prawda?

Dlaczego niektórzy używają swap do zadań move?

Na przykład stdlibc++ ma następujące wartości: unique_lock& operator=(unique_lock&& __u) { if(_M_owns) ... padku swap wykonuje niepotrzebną pracę. Co przegapiłem? (unique_lock::swap po prostu wykonuje std:: swap na każdym członku)

Kiedy przeciążenie pass by reference (wartość l i wartość r) jest preferowane od pass-by-value?

Widziałem, że mówi się, że operator= napisane, aby wziąć parametr tego samego typu by-value służy zarówno jako operator przyp ... pisania ruchu, nie może push_back być zdefiniowany w Standard, aby być pojedynczą funkcją? void push_back (value_type val);

Co to jest copy elision i jak optymalizuje idiom copy-and-swap?

Czytałam Copy and Swap . Próbowałem przeczytać kilka linków na Copy Elision, ale nie mogłem prawidłowo zrozumieć, co to znac ... kopiowanie nie następuje, gdy odniesienie wiąże się z wartością r. Powoduje to powstanie i zniszczenie dodatkowego obiektu.