Heim > Backend-Entwicklung > C++ > Hauptteil

Warum hat eine leere Klasse in C die Größe 1?

Susan Sarandon
Freigeben: 2024-11-03 21:25:29
Original
817 Leute haben es durchsucht

Why Does an Empty Class in C   Have a Size of 1?

Die Größe leerer Klassen in C verstehen

In C ist die Größe einer leeren Klasse nicht Null. Dies mag auf den ersten Blick kontraintuitiv erscheinen, aber es gibt einen entscheidenden Grund dafür.

Warum die Größe nicht Null ist

Der C-Standard verbietet Objekten und ihren Klassen, eine zu haben Größe 0. Diese Einschränkung verhindert, dass zwei verschiedene Objekte dieselbe Speicheradresse teilen. Sogar eine leere Klasse muss eine Größe von mindestens 1 haben, um eindeutige Objektadressen sicherzustellen.

Im bereitgestellten Beispiel:

<code class="cpp">#include <iostream>

class Test
{
};

int main()
{
    std::cout << sizeof(Test);
    return 0;
}</code>
Nach dem Login kopieren

Die Ausgabe ist 1, da die Testklasse, obwohl sie leer ist , hat eine Größe von 1, um der Norm zu entsprechen. Jede Klasse in C muss unabhängig von ihrem Inhalt eine Größe ungleich Null haben, um potenzielle Speicheradressenkonflikte zu vermeiden.

Das obige ist der detaillierte Inhalt vonWarum hat eine leere Klasse in C die Größe 1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!