Re: throw () in der Signatur?



Stephan Menzel <stephan-menzel@xxxxxx> writes:
> Florian Weimer wrote:
>>> Und siehe da:
>>> Die Signaturen sind identisch. Was auch damit zu erklären wäre, dass man
>>> nicht nach Exception Specifier überladen kann.
>>
>> Das ist zwar notwendig, aber nicht hinreichend für ABI-Kompatibilität.
>
> Eben. Leider.
> Wie ja bei Datenmembers auch, die ja ebenfalls die Methodensignatr nicht
> aendern, ABI Kompatibilitaet aber kaputt machen.

Eine C++-Klasse ist intern nichts anderes als eine C-struct und das
ist ein Ding, bei dem 'data members' sequentiell unter
Beruecksichtigung eventueller alignment-Anforderungen im Speicher
liegen. Das heisst, das Routinen, die direkt auf data members
zugreifen, der offsets durch die Aenderung nicht beeinflusst wurden,
weiter "funktionieren". Auch Code, der die Instanzen dynamisch
alloziert, kann weiterhin benutzt werden, falls die erste Bedingung
zutrifft. Was natuerlich nicht geht, sind statische Allokation und
auto-Variablen, weil in beiden Faellen die Groesse des zu
reservierenden Bereichs zum Uebersetzungszeitpunkt bekannt sein muss.
Falls man das als Problem ansieht, kann man es (Coplien) so loesen,
dass man "extern" nur Handle-Klassen zur Verfuegung stellt, die auf
vollstaendig eingekapselte interne Datenobjekte zugreifen.

Das ist alles kein Hexenwerk und falls man C++ tatsaechlich benutzt,
anstatt es nur als amuesantes Spielzeug anzusehen, dann sollte man das
wissen.
.



Relevant Pages

  • Re: LifeCycle - Richtiger Zeitpunkt =?ISO-8859-1?Q?f=FCr?= RewritePath()?
    ... zugreifen - da würde ich dann doch lieber direkt auf ... Lässt es sich denn nicht umgehen, direkt (im Markup) auf die Parameter ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: Dell Inspiron 6000 od. Acer 8100
    ... dann ein bisschen eigenen speicher und holt sich den rest übers ... > Ich habe mal hier in der Group gelesen, das generelle Echo auf Dell ist ja ... Prev by Date: ... Next by Date: ...
    (de.comp.sys.notebooks)
  • Re: anfaengerfrage zu pointern
    ... auf x zugreifen. ... Probleme mit globalen Variablen." ... Prev by Date: ... Next by Date: ...
    (de.comp.lang.c)
  • RE: remote zugriff auf E-Mails
    ... > vermutlich auch auf seine Daten zugreifen können. ... > verschiedene Versuche mit TSWEB und dem Cisco VPN Client schlugen fehl. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.backoffice.smallbiz)
  • Re: Erste Schritte mit vinum
    ... das das UFS die Daten sowieso auf der Scheibe verteilt. ... Speicher in den VM-Topf reinstopft, ... Prev by Date: ... Next by Date: ...
    (de.comp.os.unix.bsd)

Loading