🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16287

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

#16287
From: Adam Karpierz
Date: Wed, 11 Apr 2007 19:47
62 lines
3839 bytes
Użytkownik "ethouris" <ethouris@gmail.com> napisał:

>> 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ół.

Sektor czy Ty czujesz ze dzieki takiemu podejsciu
wystarcza w Javie _jedna_  (jak to w C++ sie nazywa)
"specjalizacja" szablonu obslugujaca wszystkie typu
wywodzace sie od klasy bazowej ?
Czy ty czujesz juz ze taki "szablon" mozna spokojnie
skompilowac, umiescic w bytecode a bedzie dobrze
dzialal wlasnie dzieki podejsciu obiektowemu
a nie "pieczatkowemu" jeno ?.
No to mi powiedz dlaczego slawetne export w C++ (ktore
ma niby robic to samo) tak sie nie podaje implementacji
przez tyle lat ?

Czy ty rozumiesz juz, ze to co jest w Javie
to jest typowy przyklad generyka
polimorficznego parametryzowanego typem ?
(sorry za nowomowe ale jakos tak mi sie
 powiedzialo wyjatkowo), i dzieki temu podlega kontroli
typow w taki sposob jak i kazda inna rzecz,
a to co jest w C++ to plaskie "trzaskanie
specjalizacji"  bez opameitanei i dopiero
linker sobie z tym radzi (bo zrobiono kolejny
wyjatek dla linkera ze gdy napotka natrzaskane
takie same specjalizacje w roznych modulach to
w przeciwienstwie do inych externali gdzie daje
duplicate error tu ma wybrac jedna.

>> 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().

Sektorku kochany , racz zauwazyc ze operator ++ w ogole nie
dziala na typie ale na _iteratorze_ i duze g.. wie jaki jest typ obiektu
kontenera. On zna tylko typ iteratora (podanego mu explicite przez
kompilator) i wie ze na tymze ma wykonac metode operator ++
Potem, wie tylko ze ma wykonac metode operator *
a potem funkcje operatorowa operator ==
Tyle.
W calej find_if (czy innych tego rodzaju rozwizazaniach)
typ _samego obiektu_ nie jest nigdzie potrzebny.

Stad te Wasze bajki o "dedukcji typu" przez yntelygentny
szablon to wlasnie miedzy... bajki wlozyc.

AK
Technical Details
Message-ID: <evje25$sbt$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!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> <1176316203.969378.31720@d57g2000hsg.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Adam Karpierz" <karpierz@_NOSPAM_python.pl>
Newsgroups: pl.comp.objects
Subject: Re: Typ należący do parametru template'a
 (czyli STL w parametrze)
Date: Wed, 11 Apr 2007 21:47:38 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 64
Message-ID: <evje25$sbt$1@inews.gazeta.pl>
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> <1176316203.969378.31720@d57g2000hsg.googlegroups.com>
NNTP-Posting-Host: dns.welnowiec.net
X-Trace: inews.gazeta.pl 1176320901 29053 83.143.96.1 (11 Apr 2007 19:48:21 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Wed, 11 Apr 2007 19:48:21 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Priority: 3
X-RFC2646: Format=Flowed; Original
X-Newsreader: Microsoft Outlook Express 6.00.2900.3028
X-User: karpierz
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit