🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #267703

Re: Ciemna strona C++

#267703
From: Sebastian Kaliszewski
Date: Thu, 22 Nov 2007 15:19
83 lines
4361 bytes
Seweryn Habdank-Wojewódzki wrote:
>>>A błąd wynika, z
>>>faktu, że statycznie Pan F. przekazuje tablicę obiektów foo,
>>
>>Nie.
> 
> A tak. Proszę wróć do tego slajdu i zobacz co kolo robi.

A nie. Przekazuje wskaźnik do funkcji której interfejs oznacza że oczekuje 
na wskaźnik typu kompatybilnego.


>>>a pobiera
>>>wskaźnik do obiektów bar -- tam wykonuje ordynarne rzutowanie.
>>
>>Nie wykonuje żadnego rzutowania. W C++ do zwykłej funkcji *nie można*
>>przekazać tablicy. Statycznie przekazuje wskaźnik i to jest tego efekt.
> 
> Oh i ah, jaki on wielki. 
> 
> A mnie się udało to zrobić poprawnie, bo jestem tylko zwykły zjadacz chleba
> i wolę cieszyć się pozytywami ;-P.

zwykłej funkcji nie szablonu. Udało ci się przekazać tablicę o statycznie 
ustalonym rozmiarze. O rozmiarze którego język nigdzi epo drodze nie zgubił.


> Pytanie kontrolne:
> 
> Czemu w Javie, C#, C i C++ są "ichnie" GUI, a np. taki Python nie ma
> swojego? Jak jest taki wielki to niech ma. 

Python ma swoje. W standardowej dystrybucji.


>>>Tymbardziej,
>>>że po dodaniu szablonowego parametru program działa poprawnie, czyli
>>>kompilator dobrze wie jakiego typu jest przekazywana tablica.
>>
>>Wie tylko czasem. Ren trick z szablonem ma jedną zasadniczą wadę -- można
>>przekazać tylko i wyłącznie tablicę której rozmiar jest znany (co C++
>>stara się maksymalnie utrudnić)
> 
> Bajka, ja przekazuję typ poprzez wskaźnik, tylko że umnie typ jest poprawnie
> identyfikowany. Popracuj z tym kodem to zobaczysz jak działa. Tablica może
> mieć zmienny rozmiar.

Wtedy też jest do bani. Tracisz dynamiczny polimorfizm.

>>i dla każdego rozmiaru tablicy jest osobna 
>>instancja szablonu
> 
> Bzdura! Tam jest wskaźnik.

To nie ma OO. Dziecko wylane z kompielą.


>>>W żadnym języku z mi znanych takie coś nie przechodzi.
>>
>>Jakto? Przechodzi w C i w C++.
> 
> Dorzucam Asm.
> 
> Licytujesz się dalej? Może Fortran?

Nie.

Ps. Chętnie wrócę do tematu kasowania metod w Pythonowych klasach.


To jest język dynamiczny. Jak skasujesz potrzebną metodę, to dostaniesz 
wyjątekiem przy próbie jej użycia -- jak przy tysiącach innych sytuacji 
dynamicznych. To jest ficzer bardzo rzadko przydatny, ale też i rzadko 
używany i dla newbies przykryty -- grzebanie w __dict__ to zagadnienia dla 
zaawansowanych.
Kiedy może się przydać? Jak masz logicznie podzieloną aplikację na czas 
inicjalizacji (gdy np. wczytujesz pliki konfiguracyjne, inicjujesz obiekty 
mające życ do końca itd) i czas właściwego wykonania. Wówczas użycie 
niektórych metod wskazane w czasie inicjalizaji jest złym pomeysłem w czasie 
właściwego wykonania -- i można je wywalić.

pzdr
\SK
Technical Details
Message-ID: <fi45ok$g39$1@bozon2.softax.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mail
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl> <fi20va$5ud$1@news.vectranet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mail
From: Sebastian Kaliszewski <s@get.it.off.to.reply.informa.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Ciemna strona C++
Date: Thu, 22 Nov 2007 16:19:36 +0100
Organization: Softax news server
Lines: 83
Message-ID: <fi45ok$g39$1@bozon2.softax.pl>
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl> <fi20va$5ud$1@news.vectranet.pl>
NNTP-Posting-Host: 83.18.189.42
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1195744386 10112 83.18.189.42 (22 Nov 2007 15:13:06 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 22 Nov 2007 15:13:06 +0000 (UTC)
User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322)
X-Accept-Language: en-us, en
In-Reply-To: <fi20va$5ud$1@news.vectranet.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit