Chápu, že jde zabalit jedno do druhého. Na druhé straně je to značně netransparentní pro ostatní, bo nějaká úroveň musí najednou vědět, jestli někdo výš bude potenciálně potřebovat sdílet výsledek. Pokud bych už šel takovou zkratkou, tak bych udělal tu základní věc jako sdílenou.
Argument ohledně heap alokací mi přijde zcestný, neboť coroutines vyžadují heap alokace už z principu (celý stack je na heap, lambda je snad taky na heap (?) ).
Z toho deferred_future<> jsem teď zmatený - takže je to prakticky lambda, která teprve pustí výpočet a vlastně vrací future<>, akorát je to celé dáno do jednoho objektu? Vzhledem k tomu, že je záměrně netransparentní pro volajícího, možná by mělo smysl ty dvě věci rozdělit...
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 51 064×
Přečteno 23 939×
Přečteno 22 871×
Přečteno 20 953×
Přečteno 17 760×