Terminologie: "struct" vs. "class"



  • Hallo,

    ich suche eine griffige Begrifflichkeit für den Unterschied von "struct"-artigen und "class"-artigen Datentypen, wobei ich dieselbe Unterscheidung vornehmen möchte wie Bjarne Stroustrup in seiner Richtlinie, wann er struct und wann class verwenden würde:

    TC++PL 4th edition, 16.2.4 schrieb:

    I tend to use struct for classes that I think of as "just simple data structures." If I think of a class as "a proper type with an invariant," I use class.

    Man könnte versucht sein, erstere als "POD types" zu bezeichnen, aber das entspricht nicht der technischen Definition von "plain old data", die sich z.B. in std::is_pod<> manifestiert und die sozusagen "POD all the way down" fordert. Mir ist aber egal, ob das struct nun nur aus C-kompatiblen Typen zusammengesetzt ist oder nicht; ich möchte danach unterscheiden, ob der Typ seine Invarianten erzwingt oder nicht.

    Was mir bisher dazu einfiel: "idiomatic struct" vs. "idiomatic class" unter Bezugnahme auf Stroustrup. Hat jemand Einwände oder bessere Vorschläge?


  • Mod

    Wenn technische Begriffe gesucht werden, sind nach meinem Verständnis Aggregate das, was der Beschreibung "just simple data structures" am Nächsten kommt.



  • Das paßt, und es gefällt mir auch besser als "idiomatic struct". Aber wie nenne ich dann den anderen Fall, also den "proper type with an invariant"? (Das "proper" finde ich hier zu anmaßend.)



  • Sind wir jetzt schon so kaputt in der Gesellschaft, dass "passend" oder "angemessen" anmaßende Begriffe sind?


  • Mod

    pica schrieb:

    Sind wir jetzt schon so kaputt in der Gesellschaft, dass "passend" oder "angemessen" anmaßende Begriffe sind?

    Philosophieren darfst du im NadrW-Forum.


Log in to reply