Re: Ein praktische Demonstration [long]
- From: Rainer Weikusat <rweikusat@xxxxxxxxxxx>
- Date: Wed, 02 Feb 2011 20:16:02 +0000
"Herbert Rosenau" <os2guy@xxxxxxxxxxxxx> writes:
On Mon, 31 Jan 2011 18:54:58 UTC, Rainer Weikusat
<rweikusat@xxxxxxxxxxx> wrote:
Wird das eigentlich nicht irgendwann mal langweilig, sich staendig
ohne erkennbaren Sinn zu wiederholen? 'void *' ist in C ein
polymorpher Zeigertyp (jeder Zeiger auf ein Objekt kann als void *
repraesentiert werden) und zwar zufaelligerweise der einzige
polymorphe Zeigertyp und 'komischerweise' kann man void * deswegen in
C benutzen, um Zeiger auf Objekte unterschiedlicher aber kompatibler
Typen an Unterroutinen zu uebergeben ohne deswegen staendig alles
vorwaerts und rueckwaerts casten zu muessen. Dh wenn folgende
Strukturen existieren:
struct a {
int b;
};
struct b {
struct a a;
int c;
};
und folgende Objekte:
struct a *pa;
struct b *pb;
dann ist folgendes korrektes C
pb = malloc(sizeof(*pb));
pa = (struct a *)pb;
Warum so kompliziert, wenn es acu wunderschöneifach geht?
pa = &pb->a;
In diesem Punkt moechte ich Dich auf das Original-Beispiel verweisen:
In diesem Fall erfordert jeder Aufruf einer Methode, dass man die
'passende' &a->b.c.d.e usf Kombination waehlt um jeweils das
enthaltende Strukturelement mit dem richtigen Typ anzugeben.
Das halte ich fuer 'undurchsichtigen Code'.
[...]
Und dann werde ich auch mal 'ein Analogon' versuchen: Wenn Du jemanden
fuer 'inkompetent' erklaerst, weil er bestimmte features einer
bestimmten Programmiersprache in einer Weise benutzt, wie das auch in
gerade in Betriebssystemenkernen fuer 'missionskritische Anwendungen'
seit beinnahe zwanzig Jahren gemacht wird, denn darf man Deine eigene
Kompetenz berechtigt in Zweifel ziehen und sollte gegebenenfalls ueber
eine Verleumdungsklage ernsthaft nachdenken.
Mit Deinem Beispiel das Du oben abgeliefet hast, hast Du Deine
fehlende Kompetenz ausreichend dokumentiert und keine Zweifel daran
gelassen.
Hier genuegt, denke ich, der Hinweis das 'Herbert' (der auf eine mir
unklare Weise hier aus dem news-filter zum Vorschein
kam, mit dem ich mir seine konstanten verbalen Entgleisungen seit
beinnahe zehn Jahren vom Leibe gehalten habe) natuerlich nur mal
wieder ein bisschen 'maulfurzen' wollte und den Kontext der obigen
Aussage meines Erachtens nach gar nicht wahrzubehmen imstande ist.
- score adjusted -
.
- References:
- Re: Ein praktische Demonstration [long]
- From: Herbert Rosenau
- Re: Ein praktische Demonstration [long]
- Prev by Date: Re: bufferoverflows
- Next by Date: Re: bufferoverflows
- Previous by thread: Re: Ein praktische Demonstration [long]
- Index(es):
Relevant Pages
|