<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Hery's devlog :: komentarze do wpisu &quot;Thin templates&quot;</title><link>http://pdziepak.quarnos.org/2008/12/29/thin-templates/</link><description>Wpisy z dziennika internetowego Jogger, wspomaganego przez Jabbera</description><lastBuildDate>Mon, 06 Sep 2010 03:48:16 +0200</lastBuildDate><generator>JoggerPL</generator><item><title>mina86</title><link>http://pdziepak.quarnos.org/2008/12/29/thin-templates/#c1314650</link><description>&quot;Swoją rolę odgrywa tutaj także słowo kluczowe inline. Zmniejsza ono fizyczny rozmiar metod stack::push i stack::pop&quot;Eee... Po pierwsze (zgodnie ze standardem) w tym konkretnym przypadku nie ma żadnego znaczenia, czy to słówko jest czy go nie ma -- jeżeli metoda jest definiowana wewnątrz definicji klasy domyślnie jest ona inline.Po drugie, wcale nie zmniejsza ono fizycznego rozmiaru metod, tylko dodaje *podpowiedź* dla kompilatora, żeby starał się tej metody w ogóle nie generować, a całe jej ciało wstawiać w miejscach wywołania.</description><pubDate>Tue, 30 Dec 2008 11:59:39 +0100</pubDate><guid>http://pdziepak.quarnos.org/2008/12/29/thin-templates/#c1314650</guid></item><item><title>Paweł Dziepak</title><link>http://pdziepak.quarnos.org/2008/12/29/thin-templates/#c1314659</link><description>Co do pierwszego, to rzeczywiście tak mówi 7.1.2/3 i przez to pojawiła się nieścisłość we wpisie.Jeżeli chodzi o drugie, to właśnie wstawianie ciała w miejscach wywołania pozwala na zmniejszenie rozmiaru *kodu* metody w pewnych specyficznych sytuacjach (takich jak przedstawiona w moim przykładzie). Kompilator nie musi generować instrukcji niezbędnych do rozpoczęcia i zakończenia wykonywania procedury. Wielokrotne wstawianie tej funkcji nie powoduje to wzrostu rozmiaru pliku wynikowego, ponieważ rzutowanie nie jest przekładane na żadną instrukcję assemblera. Jedynie dereferencja jest dodatkową instrukcją, ale jak to zostało wspomniane, skuteczność inline (jeżeli chodzi o to zagadnienie) ściśle zależy od rodzaju kodu.W każdym razie, dziękuję za sugestie. Postaram się odpowiednio uściślić odpowiednie fragmenty notki.</description><pubDate>Tue, 30 Dec 2008 12:17:44 +0100</pubDate><guid>http://pdziepak.quarnos.org/2008/12/29/thin-templates/#c1314659</guid></item></channel></rss>