🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #67

Re: Lippmann - was ist das?

#67
From: Harald Fuchs
Date: Sun, 13 Dec 1992 11:39
35 lines
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!hf
References: <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