struct (C++)
Le struct
mot clé définit un type de structure et/ou une variable d’un type de structure.
Syntaxe
[template-spec] struct [ms-decl-spec] [tag [: base-list ]]
{
member-list
} [declarators];
[struct] tag declarators;
Paramètres
template-spec
Spécifications de modèle facultatives. Pour plus d’informations, reportez-vous aux spécifications de modèle.
struct
Le mot clé struct
.
ms-decl-spec
Spécification de classe de stockage facultative. Pour plus d’informations, reportez-vous au mot clé __declspec.
tag
Nom de type donné à la structure. La balise devient un mot réservé dans la portée de la structure. La balise est facultative. Si elle est omise, une structure anonyme est définie. Pour plus d’informations, consultez Types de classes anonymes.
base-list
Liste facultative des classes ou structures dont dérivent les membres de cette structure. Pour plus d’informations, consultez Classes de base. Chaque classe de base ou nom de structure peut être précédé d’un spécificateur d’accès (public, privé, protégé) et du mot clé virtuel. Pour plus d’informations, consultez la table d’accès aux membres d’accès aux membres de la classe.
member-list
Liste des membres de structure. Pour plus d’informations, reportez-vous à la vue d’ensemble des membres de la classe. La seule différence ici est celle utilisée struct
à la place de class
.
declarators
Liste de déclarateurs spécifiant les noms de la structure. Les listes des déclarateurs déclarent une ou plusieurs instances du type structure. Les déclarateurs peuvent inclure des listes d’initialiseurs si tous les membres de données de la structure sont public
. Les listes d’initialiseurs sont courantes dans les structures, car les membres de données sont public
par défaut. Pour plus d’informations, consultez Vue d’ensemble des déclarateurs .
Notes
Un type structure est un type composite défini par l'utilisateur. Il comprend des champs ou des membres qui peuvent avoir différents types.
En C++, une structure est identique à une classe, sauf que ses membres sont public
par défaut.
Pour plus d’informations sur les classes managées et les structs dans C++/CLI, consultez Classes et Structs.
Utilisation d'une structure
En C, vous devez utiliser explicitement l’mot clé struct
pour déclarer une structure. En C++, vous n’avez pas besoin d’utiliser le struct
mot clé une fois le type défini.
Vous avez la possibilité de déclarer des variables lorsque le type de structure est défini en plaçant un ou plusieurs noms de variables séparés par des virgules entre l'accolade fermante et le point-virgule.
Les variables de structure peuvent être initialisées. L'initialisation de chaque variable doit être placée entre accolades.
Pour plus d’informations, consultez la classe, l’union et l’énumération.
Exemple
#include <iostream>
using namespace std;
struct PERSON { // Declare PERSON struct type
int age; // Declare member types
long ss;
float weight;
char name[25];
} family_member; // Define object of type PERSON
struct CELL { // Declare CELL bit field
unsigned short character : 8; // 00000000 ????????
unsigned short foreground : 3; // 00000??? 00000000
unsigned short intensity : 1; // 0000?000 00000000
unsigned short background : 3; // 0???0000 00000000
unsigned short blink : 1; // ?0000000 00000000
} screen[25][80]; // Array of bit fields
int main() {
struct PERSON sister; // C style structure declaration
PERSON brother; // C++ style structure declaration
sister.age = 13; // assign values to members
brother.age = 7;
cout << "sister.age = " << sister.age << '\n';
cout << "brother.age = " << brother.age << '\n';
CELL my_cell;
my_cell.character = 1;
cout << "my_cell.character = " << my_cell.character;
}
// Output:
// sister.age = 13
// brother.age = 7
// my_cell.character = 1
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour