Article View: pl.comp.objects
Article #16284Re: Typ należący do parametru template'a (czyli STL w parametrze)
From: ethouris
Date: Wed, 11 Apr 2007 18:30
Date: Wed, 11 Apr 2007 18:30
49 lines
3273 bytes
3273 bytes
On 11 Kwi, 01:09, "Adam Karpierz" <karpierz@_NOSPAM_python.pl> wrote: > Użytkownik "ethouris" <ethou...@gmail.com> napisał: > > > Pomijając już kwestie "makrogeneratorowatości" szablonów C++, o czym > > nie chce mi się już pisać, bo argumenty panów AL + AK od zawsze w tym > > temacie były typu "makrogenerator, bo tak" - > > Czy Pan uwaza ze mozna postawic znak rownosci pomiedzy > "trzepiacymi konkretyzacjami" czy trzeba czy nie szablonami z C++ > a rozwiazaniami szablonow w Javie czy C# ktore.. tak naprawde > w ogole szablonami nie sa (choc moze mylic skladnia podobna do C++) , > ale parametryzowalnymi obiektowymi kontenerami ?. Szablonami są jak najbardziej. Przecież z punktu widzenia programisty piszącego kod istotne jest tylko to, co jest w źródłach programu i co jak działa. Fakt, że wszystkie parametry szablonu są wewnętrznie magicznie przerabiane na Object to nieistotny szczegół. > Czy porownujac te rozwiazania z tych trzech jezykow > dalej nie mozna rzec ze w stosuku np. do Javy czy C# > rozwiazania kontenerowe STL to prymitywny makrogenerator ? Adam, nie rób sobie jaj. Cóż takiego lepszego mają generyki z Javy czy C#, że są one lepsze od C ++-owych szablonów? > > Nie istnieje taki makrogenerator, który potrafi: > > a) dedukować parametr > > x = find_if( ls.begin(), ls.end(), is_divisible_by_3 ); > > Czy tu _gdziekolwiek_ nastepuje dedukcja typu parametru przez szablon ? > Szablon jest glupi jak but. Owszem. Następuje w operatorze ++, używanym wewnątrz find_if, który wybiera odpowiednią specjalizacje opartą o typ obiektu podanego jako ls.begin() i ls.end(). > On typ musi miec podany explicite typ (niewazne kto go podaje). No i gdzie przepraszam masz ten explicite typ? Widzisz gdzieś tutaj powyżej std::list<int>::iterator lub coś podobnego? Nie, przepraszam, std::_List_iterator<int,int*,int&>. -- (( ))
Technical Details
Message-ID:
<1176316203.969378.31720@d57g2000hsg.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newshub.sdsu.edu!postnews.google.com!d57g2000hsg.googlegroups.com!not-for-mailReferences:
<slrnf1kjcu.ave.lrem@lrem.maxnet><evdqq6$qrs$3@news.onet.pl> <desk13psu2rvekht584uoirc0djahrk1dv@4ax.com> <87irc5fnin.fsf@hector.domek> <1176232119.821172.37680@n76g2000hsh.googlegroups.com> <evh5i9$qho$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newshub.sdsu.edu!postnews.google.com!d57g2000hsg.googlegroups.com!not-for-mail From: "ethouris" <ethouris@gmail.com> Newsgroups: pl.comp.objects Subject: Re: Typ należący do parametru template'a (czyli STL w parametrze) Date: 11 Apr 2007 11:30:04 -0700 Organization: http://groups.google.com Lines: 53 Message-ID: <1176316203.969378.31720@d57g2000hsg.googlegroups.com> References: <slrnf1kjcu.ave.lrem@lrem.maxnet><evdqq6$qrs$3@news.onet.pl> <desk13psu2rvekht584uoirc0djahrk1dv@4ax.com> <87irc5fnin.fsf@hector.domek> <1176232119.821172.37680@n76g2000hsh.googlegroups.com> <evh5i9$qho$1@inews.gazeta.pl> NNTP-Posting-Host: 81.219.244.75 Mime-Version: 1.0 X-Trace: posting.google.com 1176316204 9709 127.0.0.1 (11 Apr 2007 18:30:04 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 11 Apr 2007 18:30:04 +0000 (UTC) In-Reply-To: <evh5i9$qho$1@inews.gazeta.pl> User-Agent: G2/1.0 X-HTTP-UserAgent: Opera/9.10 (X11; Linux i686; U; en),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: d57g2000hsg.googlegroups.com; posting-host=81.219.244.75; posting-account=W6788A0AAADjfLYufIDScQB28tLT5-6D Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit