Article View: pl.comp.objects
Article #16237Re: Typ należący do parametru template'a (czyli STL w parametrze)
From: Seweryn Habdank-Wojewódzki
Date: Tue, 10 Apr 2007 09:15
Date: Tue, 10 Apr 2007 09:15
128 lines
5267 bytes
5267 bytes
Witam
Adam Karpierz wrote:
>> bo szablony mają dokładną informację o typie.
>
> Pokaz mi _gdzie ja maja_ ?
template < typename T >
class foo {};
template < typename T, typename U >
class foo < T (*) (U) > {
typedef T result_t;
typedef U arg_type;
foo ( T (*f) (U) ) : f_ (f){}
//...
private:
T (*f_) (U);
};
template < typename T, typename U, typename V >
T funcdecoder ( T (*) (U) f )
{
foo<T,U> ff(f);
do_something_with_res_types<ff::result_t>();
do_something_with_arg_types<ff::arg_t>();
return ff;
}
Pomijam możliwość użycia boost::function, które skróciłoby zapis.
I teraz pytania. Ile funkcji funcdecoder zostanie stworzonych w kodzie kiedy
nie ma ani jednego wywołania tej fukcji?
Drugie pytanie ile funkcji funcdecoder zostanie stworzone kiedy napiszę:
int bar ( double const d ){return static_cast<int>(d)}
funcdecoder ( bar );
Co otrzymają funkcje do_something...?
Ile będzie tych funkcji w skompilowanym kodzie?
>> Jeśli uznasz, że szablony są
>> makrogeneratorem, to momentalnie Twoja definicja obejmuje każdy dostępny
>> kompilator, a zatem typy generyczne w Javie też. Obawiam się, że nawet
>> Psyco + Python też pod to podpadnie.
>
> Dokladnie !
> To wszytsko sa makrogeneratory i z obietowoscia ma to 0 wspolnego.
A co obiektowość ma do rzeczy? Nie o tym mowa. A czy Python jest obiektowy?
I co to (obiektowość) ma wspólnego z dobrym programowaniem?
Czyżby Pan nie uznawał języków funkcyjnych?
> Moze mi jeszcze powiesz ze iteratory czy generatory tez sa obiektowe ?
A czy ja coś mówię o obiektowości? Powiedziałem, że pytania o C++ są NTG!
> Albo moze adnotacje w Javie tez ?
> Moze przeciazanie metod/funkcji to tez obiektowka ?
A co to ma dorzeczy? Na jakie pytanie Pan odpowiada? Może jakieś
przysunięcie tamatyczne z innego wątku?
>> I okazałoby się, że wszystkie języki
>> potrafiące realizować aspekt metaprogramowania w statyczny czy dynamiczny
>> sposób będą w jednym worku z makrogeneratorem oferowanym przez ANSI C.
>
> Pierwsze slysze o jakims makrogeneratorze w ANSI C
To była parafraza Pańskiej opinii o C++.
> _wlasciwych proporcji_ (szablon to makrogenerator i tyla),
No to nie pogadamy, bo Pan powtarza slogan z lat 90, jak by szablon był
makrogeneratorem M4. To nikt by nie miał kłopotu z napisaniem dobrego
kompilatora C++, bo przecież sprawa jest banalna i znana od zamierzchłych
czasów, a jednak są pewne nie zerowe problemy.
> Tacy fanatycy jak Ty juz dawno zapomnieli ze nawet sam
> tworca nie nazwal C++ nigdy jezykiem obiektowym.
A co to ma do rzeczy? Co mają szablony do obiektowości? Pomylił się Panu
wątek!
> Jestescie najgorza rzecza w IT (tzw Ayatollahowie C++..).
Pan jest Ajatollah Pythona i nie mówię, że jest Pan "najgorszą rzeczą".
Czyżbym nacisnął na jakiś bolący odcisk?
>> Mam jednak nadzieję, że poziom tej grupy jest wyższy niż szczekanki
>> polityczne.
>
> Jestes typowym przykladem Michnikowszczyzny w programowaniu.
Rozumiem, że poprzedni wątek siadł Panu na mózg.
> Dobro sekty przeslania Ci stan faktyczny.
W brew pozorom nie. Bo moja sekta to Automatyka, a dokładniej zintegrowane
systemy sterowania i monitoringu, a jeszcze dokładniej to od 3 lat wdrażam
w przemyśle prototypowe konstrukcje bazujące na probabilistyczno-rozmytych
klasyfikatorach i predyktorach posiłkując się osiągnięciami SOM i
optymalizacji. To jest moja działka.
A C, C++, Python, Java, SQL służą mi tylko do wykonania pracy. Ale to czego
nie lubię to generowanie złości wynikające tylko i wyłącznie z frustracji.
> Juz zawsze bedziesz naginal rzeczywistosc do swego guru (C++)
To zależy.
> tracac powoli morale czyli jak to pieknei mowia
> "prawde obiektywna".
Morale nie mają nic z C++ wspólnego. Siekiera nie jest zła, zły jest ktoś
kto używa siekiery do niewłaściwych celów. Dobieram język do potrzeb, a nie
naginam potrzeb do języka.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
To reply remove "n0-5p4m-" from e-mail address.
Technical Details
Message-ID:
<evfkmb$dnq$1@tkdami.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mailReferences:
<slrnf1kjcu.ave.lrem@lrem.maxnet> <evdlhb$f4p$1@inews.gazeta.pl> <evdqq6$qrs$3@news.onet.pl> <desk13psu2rvekht584uoirc0djahrk1dv@4ax.com> <87irc5fnin.fsf@hector.domek> <evdu15$341$2@tkdami.pl> <eve1op$2gv$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mail From: Seweryn Habdank-Wojewódzki <habdank@n0-5p4m-gmail.com> Newsgroups: pl.comp.objects Subject: Re: Typ należący do parametru template'a (czyli STL w parametrze) Date: Tue, 10 Apr 2007 11:15:18 +0200 Organization: VectraNet Oswiecim Lines: 128 Message-ID: <evfkmb$dnq$1@tkdami.pl> References: <slrnf1kjcu.ave.lrem@lrem.maxnet> <evdlhb$f4p$1@inews.gazeta.pl> <evdqq6$qrs$3@news.onet.pl> <desk13psu2rvekht584uoirc0djahrk1dv@4ax.com> <87irc5fnin.fsf@hector.domek> <evdu15$341$2@tkdami.pl> <eve1op$2gv$1@inews.gazeta.pl> Reply-To: habdank@n0-5p4m-gmail.com NNTP-Posting-Host: 82.139.21.12 Mime-Version: 1.0 X-Trace: tkdami.pl 1176196619 14074 82.139.21.12 (10 Apr 2007 09:16:59 GMT) X-Complaints-To: usenet@news.tkdami.pl NNTP-Posting-Date: Tue, 10 Apr 2007 09:16:59 +0000 (UTC) User-Agent: KNode/0.10.4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit