🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16284

Re: Typ należący do parametru template'a (czyli STL w parametrze)

#16284
From: ethouris
Date: Wed, 11 Apr 2007 18:30
49 lines
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-mail
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>

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