Maison > développement back-end > C++ > le corps du texte

Pourquoi une classe vide en C a-t-elle une taille de 1 ?

Susan Sarandon
Libérer: 2024-11-03 21:25:29
original
816 Les gens l'ont consulté

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

Comprendre la taille des classes vides en C

En C, la taille d'une classe vide n'est pas nulle. Cela peut sembler contre-intuitif au début, mais il y a une raison cruciale derrière cela.

Pourquoi la taille n'est pas nulle

La norme C interdit aux objets et à leurs classes d'avoir une taille de 0. Cette restriction empêche deux objets distincts de partager la même adresse mémoire. Même une classe vide doit avoir une taille d'au moins 1 pour garantir des adresses d'objet uniques.

Dans l'exemple fourni :

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

class Test
{
};

int main()
{
    std::cout << sizeof(Test);
    return 0;
}</code>
Copier après la connexion

La sortie est 1 car la classe Test, bien qu'elle soit vide , a une taille de 1 pour être conforme à la norme. Chaque classe en C , quel que soit son contenu, doit avoir une taille non nulle pour éviter d'éventuels conflits d'adresses mémoire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!