🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #60140

Re: Jak zrobić program obliczający dużą silnię?

#60140
From: Marcin 'Qrczak' Kowalczyk
Date: Thu, 03 Nov 2005 20:34
32 lines
3253 bytes
Maciej Sobczak <no.spam@no.spam.com> writes:

> http://www.msobczak.com/prog/articles/lambdacpp.html
>
> Są tam przykłady użycia takich funkcji (paragraf "Anonymous
> Function"), ale *nie ma* przykładów na dostęp z tych funkcji do
> obiektów zdefiniowanych tam, gdzie one same były definiowane.

Trudno, żebyś podawał przykłady, które przeczą Twojej tezie :-)

W moim kompilatorze w 13754 liniach jest 408 anonimowych funkcji
używających zewnętrznych zmiennych, do tego 33 pochodzące z pętli
realizowanych konstrukcją sprowadzającej się do lokalnej funkcji.
I dobrze mi z tym.

> Ten tekst pokazuje, że funkcje lokalne (lambdy) mogą być przydatne
> bez dodatkowego dostępu do czegokolwiek.

Dla mnie skoro są równoważne globalnym, to projektowanie dla nich
specjalnej składni mija się z celem.

> No, nie licząc *typów* danych (więc jednak ściemniałem trochę z tym
> "brakiem widoczności czegokolwiek"), ale bez tego nie dało by się
> użyć lambdy w szablonie.

Pamiętaj, że nie możesz ukonkretnić szablonu lokalnym typem.
One są jeszcze bardziej ograniczone niż globalne...

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/
Technical Details
Message-ID: <87psphsc6n.fsf@qrnik.zagroda>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <djfrn5$i55$1@nemesis.news.tpi.pl> <djn9lh$ktl$1@nemesis.news.tpi.pl> <e2pcznjzv2gh$.1drgaxj9rqzhj.dlg@40tude.net> <djnjtf$suk$2@nemesis.news.tpi.pl> <1i7bbr8l84m9o$.8ttxld9ccdq4.dlg@40tude.net> <djnq5h$8ae$1@atlantis.news.tpi.pl> <gmqro8ttahov.aorv2e8thz25.dlg@40tude.net> <87wtk0iiqw.fsf@qrnik.zagroda> <djq3rj$4fm$1@sunnews.cern.ch> <87y84fz1bn.fsf@qrnik.zagroda> <djqg9q$1sg$1@sunnews.cern.ch> <87ll0ezpyl.fsf@qrnik.zagroda> <djsle0$q36$1@sunnews.cern.ch> <877jbx7q2t.fsf@qrnik.zagroda> <dk4n41$aue$1@sunnews.cern.ch> <87vezdanl0.fsf@qrnik.zagroda> <dk9su1$6su$1@sunnews.cern.ch> <87k6fqeq35.fsf@qrnik.zagroda> <dkcps0$2vq$1@sunnews.cern.ch> <slrndmk3v4.p01.jajcus@serwis2.beta> <dkd731$2u6$1@sunnews.cern.ch>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Jak       zrobić program 
 obliczający dużą silnię?
Date: Thu, 03 Nov 2005 21:34:24 +0100
Organization: Klub Nieszkodliwych Manjaków
Lines: 32
Message-ID: <87psphsc6n.fsf@qrnik.zagroda>
References: <djfrn5$i55$1@nemesis.news.tpi.pl> <djn9lh$ktl$1@nemesis.news.tpi.pl> <e2pcznjzv2gh$.1drgaxj9rqzhj.dlg@40tude.net> <djnjtf$suk$2@nemesis.news.tpi.pl> <1i7bbr8l84m9o$.8ttxld9ccdq4.dlg@40tude.net> <djnq5h$8ae$1@atlantis.news.tpi.pl> <gmqro8ttahov.aorv2e8thz25.dlg@40tude.net> <87wtk0iiqw.fsf@qrnik.zagroda> <djq3rj$4fm$1@sunnews.cern.ch> <87y84fz1bn.fsf@qrnik.zagroda> <djqg9q$1sg$1@sunnews.cern.ch> <87ll0ezpyl.fsf@qrnik.zagroda> <djsle0$q36$1@sunnews.cern.ch> <877jbx7q2t.fsf@qrnik.zagroda> <dk4n41$aue$1@sunnews.cern.ch> <87vezdanl0.fsf@qrnik.zagroda> <dk9su1$6su$1@sunnews.cern.ch> <87k6fqeq35.fsf@qrnik.zagroda> <dkcps0$2vq$1@sunnews.cern.ch> <slrndmk3v4.p01.jajcus@serwis2.beta> <dkd731$2u6$1@sunnews.cern.ch>
NNTP-Posting-Host: paf87.warszawa.sdi.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1131050073 22013 217.96.225.87 (3 Nov 2005 20:34:33 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 3 Nov 2005 20:34:33 +0000 (UTC)
X-Face: .B/ouEO}=VFkSJWE}s0@!:diHI.Z,<Ilt`:~@*]7rnn^K_y"XV8AXf^E)x*|3yVg:$FCq0Y )iGn@Z[SOA<+p}TkAv'Lzu$w{z2?F);0Xt>`m}AqK#Vjuscq(Vf1B}H[)v\9tBN}>AdP,QSRbhO]=v 3?;I+cN/Z0HKPm_Eg99/pFrU!WfpjgQ!z":>A~qt0^4):0-UuPB(6^>j!mN$)RIb)rRhXeK:+MLPW[ RVb7Kepvby-ww6_zci7Yy_@IrWW
User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)
Cancel-Lock: sha1:deDU9Ndh3+8N68mLC314kBdclLU=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit