Ab 1.8.1
-1- Die Konstrukte in einem C++-Programm erzeugen, zerstören, verweisen auf Objekte, greifen darauf zu und manipulieren sie. Ein Objekt ist ein Bereich des Speichers. [Hinweis: Eine Funktion ist kein Objekt, unabhängig davon, ob sie Speicherplatz in der Weise belegt, wie es Objekte tun oder nicht. ] Ein Objekt wird durch eine Definition (basic.def), durch einen new-Ausdruck (expr.new) oder bei Bedarf durch die Implementierung (class.temporary) erzeugt. Die Eigenschaften eines Objekts werden bei der Erstellung des Objekts festgelegt. Ein Objekt kann einen Namen haben (Klausel basic). Ein Objekt hat eine Speicherdauer (basic.stc), die seine Lebensdauer (basic.life) beeinflusst. Ein Objekt hat einen Typ (basic.types). Der Begriff Objekttyp bezieht sich auf den Typ, mit dem das Objekt angelegt wird.
Sie ist auch in dieser Aussage aus 3.9.1 implizit enthalten:
Typen beschreiben Objekte (intro.object), Referenzen (dcl.ref) oder Funktionen (dcl.fct).
Damit "Objekte" alles zusammenfassen können, was anders als Referenzen oder Funktionen typisiert ist, muss es natürlich auch int
et al.
Es ist erwähnenswert, dass Grundtypen wie int
sind keine Objekte im "objektorientierten" Sinne, aber das ist ziemlich offensichtlich, wenn man bedenkt, dass sie dieselben sind wie in C, das keine objektorientierte Sprache ist.