Article View: de.comp.lang.c++
Article #67Re: Lippmann - was ist das?
From: Harald Fuchs
Date: Sun, 13 Dec 1992 11:39
Date: Sun, 13 Dec 1992 11:39
35 lines
2091 bytes
2091 bytes
In article <1362@mwtech.UUCP>, martin@mwtech.UUCP (Martin Weitzel) writes:
> Da sehe ich mich eigentlich nur bestaetigt (ich nehme an, das wolltest Du
> auch). Um es anders auszudruecken: IMHO liegen Leute, die wegen der
> Moeglichkeit der falschen Verwendung von "virtual" und/oder "inline"
> das *Design* von C++ kritisieren, ebenso falsch wie Leute, die das Design
> von C (ohne ++) kritisieren, weil es da die "register"-Vereinbarung gibt
> und kein Mensch doch wissen koenne, welche Variablen man denn am besten
> in Register lege (u.a. weil man in einem portablen Programm garnicht weiss,
> wieviele Register es gibt), und dass es besser sei, wenn der Compiler das
> selbst entscheiden wuerde. (Fuer die uninformierten Leser: Fast alle
> *heutigen* C-Compiler machen genau diese Optimierungen von sich aus und
> ignorieren den Zusatz "register" bei der Vereinbarung einfach.)
Der Vergleich hinkt. "register" kann man ignorieren, ohne was an der
Semantik eines Programms zu aendern; "virtual" hingegen nicht:
struct A {
/*virtual*/ void f () { cout << "A::f\n"; }
};
struct B: A {
void f () { cout << "B::f\n"; }
};
main () {
A* p = new B;
p->f ();
}
Es ist zwar anzunehmen, dass der Anwender an dieser Stelle dynamische
Bindung will, aber die Sprachdefinition erfordert statische Bindung.
--
Harald Fuchs <hf@telematik.informatik.uni-karlsruhe.de>
Technical Details
Message-ID:
<HF.92Dec13113953@whyaduck.tk.telematik.informatik.uni-karlsruhe.de>Path:
arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!sdd.hp.com!caen!sol.ctr.columbia.edu!ira.uka.de!uka!news!hfReferences:
<1355@mwtech.UUCP> <vaillant.723748577@hathi> <1359@mwtech.UUCP> <1g5sp6INN9d9@smurf.smurf.sub.org> <1362@mwtech.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!spool.mu.edu!sdd.hp.com!caen!sol.ctr.columbia.edu!ira.uka.de!uka!news!hf From: hf@tk.telematik.informatik.uni-karlsruhe.de (Harald Fuchs) Newsgroups: de.comp.lang.c++ Subject: Re: Lippmann - was ist das? Date: 13 Dec 92 11:39:53 Organization: Karlsruhe University, Germany Lines: 35 Message-ID: <HF.92Dec13113953@whyaduck.tk.telematik.informatik.uni-karlsruhe.de> References: <1355@mwtech.UUCP> <vaillant.723748577@hathi> <1359@mwtech.UUCP> <1g5sp6INN9d9@smurf.smurf.sub.org> <1362@mwtech.UUCP> NNTP-Posting-Host: whyaduck.telematik.informatik.uni-karlsruhe.de In-reply-to: martin@mwtech.UUCP's message of 11 Dec 92 16:55:17 GMT