Odpovídáte na názor ke článku RVO pro korutiny (C++20).
Kdyz o tom tak premyslim, napada me otazka, zda optimalizece RWO neni trocu ohjebak na rovnak.
Ja to vzdycky chapal, tak, ze lokalni promena se pri navratu z funkce rusi. Tudiz pokud ji vracim hodnotou, je nutne ji vytvorit znovu (do kontextu volajici funkce). Pokud ji vsak vracim ukazatelem mam pruser, protoze bude po navratu z funkce ukazovat nekam kde nic uz nema nic byt. Pokud ji vsak vracim referenci, prekladac v ramci optimalizace promenou presune do kontextu volajici funkce. A funguje to i v pripade ze promennou vracim z ruznych casti volane funkce. Pracuji tak retezcove tridy, nebo retezitelne operatory.
Proc je to tedy potreba, jenom kvuli korutinam? Neni to spis zavadeni dalsi komplexity do jazyka? Nehodilo by se spis varovani kompiletoru, ve smyslu : "Pozor budes tvorit novy objekt, nechces radeji vracet referenci"?
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 50 233×
Přečteno 23 535×
Přečteno 22 525×
Přečteno 20 434×
Přečteno 17 495×