REDGUY: no podívej... asi takhle... pokud v normálním C stylu použiješ return před tím, než uvolníš paměť - tak se stane co ? máš alokovanou paměť - ale pointery na ní ti zmizely spolu se scope, který jsi opustil. jsi úplně stejně v pytli.
tvoje "nesmíš skákat do jiného kontextu" je úplně bezpředmětné - nejhorší, co ti hrozí, je prostě neuvolnění paměti: je to stejné, jako obejít/vynechat několik příkazů free() - a u složitějšího kódu klidně HODNĚ příkazů free, popravdě.
první příklad - totiž že ve chvíli alokace paměti často nevím, jak dlouho jí budu potřebovat - byl samozřejmě hodně dobrý. toto je velký problém, a kontexty/pooly to neřeší: je to stejné jako s polem - pole je skvělé, pokud "víme, kolik toho bude" a nepotřebujeme dodatečně vkládat náhodně položky na jeho začátek. no a s tímhle je to stejné: kontexty jsou fakt výkonné - kromě případu, že předem nevíš, co s tou pamětí budeš dělat. tam si měl pravdu - ale vycouval si, a teď vymýšlíš nesmysly.
na nesmyslné protipříklady z dnešního večera už nebudu nijak reagovat - ale prozradím ti, že bych pokládal za užitečné moct individuální pointery buď vyčlenit z kontextu forget { } - a zařadit je do nadřazeného remember { } kontextu. jo, bude to mít určitou režii - ale pořád asi menší než fyzické kopírování bajt po bajtu (on totiž ten "kontext" je nakonec stejně jen spojový seznam pointerů na alokované bloky, co jiného...). (samozřejmě problém je v tom, že to jednoduše nejde - nebo ne bez obětování všech výkonnostních výhod memory poolu)
prostě tvoje kritika je strašně samoúčelná, protože máš prostě strašně intenzivní nutkání mě kritizovat a to úplně za každou cenu: je jasný, že můj návrh není zcela univerzální: jenom je vhodný ve slušném počtu počtu případů, které se v "tradičním" C řeší zbytečně pracně. a nepřináší žádné nové problémy, které by ti nevznikaly úplně běžně i u většiny ostatních programátorských pokusů v C ...