Unterschied zwischen Struct und Typedef Struct in C++
Dieser kleine Artikel behandelt das Schlüsselwort typedef
in C++. Wir werden auch den Unterschied zwischen einer einfachen Struktur und einer typedef
-Struktur in C++ besprechen.
das Schlüsselwort typedef
in C/C++
typedef
ist ein Schlüsselwort in C/C++, das verwendet wird, um Datentypen neue Namen oder Aliase zu geben. Diese Datentypen können primitive (z. B. int, float usw.) oder nicht-primitive oder benutzerdefinierte definierte Datentypen (z. B. eine class
, eine struct
oder eine union
) sein.
Das Schlüsselwort typedef
wird hauptsächlich bei benutzerdefinierten Datentypen verwendet, die im Programm etwas kompliziert zu verwenden sind oder deren Namen schlecht mit dem Programmkontext zusammenhängen.
Die Syntax zum Deklarieren von typedef
für den primitiven int-Datentyp lautet wie folgt:
typedef int negative_int;
Wann immer wir nun eine int-Variable im Programm deklarieren müssen, können wir das mit dem Namen negative_int
so machen:
#include <iostream>
using namespace std;
int main() {
cout << "Welcome to the typedef tutorial" << endl;
typedef int negative_int; // typedef keyword use
negative_int num = -7;
cout << "The number is: " << num << endl;
return 0;
}
Die Ausgabe dieses Codes wird sein:
Welcome to the typedef tutorial
The number is: -7
Unterschied zwischen struct
und typedef struct
in C++
In C++ wird nicht zwischen struct
und typedef struct
unterschieden, denn solange nicht eine andere gleichnamige Deklaration den Namen verdeckt, werden alle structs
, unions
, enums
und class
Deklarationen verhalten sich so, als seien diese implizit typedef
ed.
Die C-Sprache verwendete typedef struct
, weil es in C jedes Mal zwingend erforderlich ist, das Schlüsselwort struct
zu verwenden, wenn Sie ein Objekt von struct
erstellen müssen. Daher ist typedef
hilfreich, wenn Sie struct
nur mit seinem Namen verwenden können.