Aktywne Wpisy
nowszyja +536
Psiarze to jest obecnie największa patologia w polskich miastach i nie zapraszam do dyskusji. Kolejny raz o 6 rano zostałem obudzony przez ujadające psy na osiedlu, bo jest ich już tak dużo, że same dostają p-------a i wzajemnie na siebie ujadają na spacerze. Psiarze to banda egoistycznych patusów. Nie mają w życiu pasji, to biorą sobie psa jako zabaweczkę i już mają cel: łażenie z psem i zasyfianie przestrzeni publicznej.
#psiarze
#psiarze
Fjubens +749
Wiadomo. Polacy lubią małe #mieszkanie i stare samochody.
#nieruchomosci #polska #demografia #deweloperka
#nieruchomosci #polska #demografia #deweloperka
źródło: temp_file2666080070173505617
Pobierz
![Jak usprawniam i optymalizuję Linuxa? [Linux Mint 22.2]](https://wykop.pl/cdn/c3397993/b5d6c7d19d25a36ca5aee165c3a0d41bd0a2157e138c7cf501356ebdf6b44eb6,q80.jpg)



Dlaczego unique_ptr może być zwrócony przez funkcję przez wartość, skoro standard mówi, że zostaje on zniszczony podczas opuszczania zakresu ważności?
When certain criteria are met, an implementation is allowed to omit the copy/move construction of a class object [...] This elision of copy/move operations, called copy elision, is permitted [...] in a return statement in a function with a class return type, when the expression is the name of a non-volatile automatic object with the same cv-unqualified type as the function return type [...]
When the criteria
Nie wiem po co to gdybanie. Czyli jak dodam flagę -fno-elide-constructors, która wyłącza NRVO to nie będzie się dało zwrócić unique_ptr?
Edit: O tutaj: https://en.cppreference.com/w/cpp/language/copy_elision
Więc jeśli wchodzi RVO to nie ma w ogóle mowy o
std::unique_ptrz funkcji jest on niszczony jak słusznie zauważasz, ale zanim zostanie zniszczony to zostaje wywołany move constructor i zasób na stercie jest przekazywany temu pointerowi do którego zwracasz z tej funkcji, a oryginalny po tej opracji zostaje wyczyszczony. I to potem ten pusty uniqueptr zostaje zniszczony przez wywołanie destruktora.Tutaj jako "ładunek" masz
intzamiast pamieci na stercie która miałbys w przypadku smart pointera ale ta zasada jest ta sama.W srodku funkcji stwarzasz Cecylie z ladunkiem 3 i zwracasz ja do Aliny. Najpierw ladunek zostaje przeniesiony a potem pusta Cecylia jest niszczona. Na podobnej zasadzie dziala zwracania z unique_ptr
Patrz tylko na funkcje
main()if()