C++構造体の前になぜtypedefがよく使われるのか
C++コードにはいくつかの構造体が定義されています.このようなコードが表示される可能性があります.
なぜstructキーワードの後ろに構造体名studentがあり、typedefで名前を再指定する必要があるのでしょうか.
これはtypedefを使用しない場合、すなわち
C言語で使用する場合は、次のように変数を定義する必要があります.
struct student stu1 = {"TheOne", 24, "male"};
したがって、C言語ではtypedefを使用してstruct studentをstudentと定義します.これにより、student構造体を使用するときにstructを省略することができます.すなわち、
student stu1 = {"TheOne", 24, "male"};
しかしC++では、すべてが簡単になり、typedefを使用する必要はなく、student定義変数を直接使用することもできます.次のようになります.
構造体:
変数の定義:
student stu1 = {"TheOne", 24, "male"};
だからC++で見たtypedefはCの書き方を互換させるためだけです.
typedef struct student
{
string name;
int age;
string gender;
}student;
なぜstructキーワードの後ろに構造体名studentがあり、typedefで名前を再指定する必要があるのでしょうか.
これはtypedefを使用しない場合、すなわち
struct student
{
string name;
int age;
string gender;
};
C言語で使用する場合は、次のように変数を定義する必要があります.
struct student stu1 = {"TheOne", 24, "male"};
したがって、C言語ではtypedefを使用してstruct studentをstudentと定義します.これにより、student構造体を使用するときにstructを省略することができます.すなわち、
student stu1 = {"TheOne", 24, "male"};
しかしC++では、すべてが簡単になり、typedefを使用する必要はなく、student定義変数を直接使用することもできます.次のようになります.
構造体:
struct student
{
string name;
int age;
string gender;
};
変数の定義:
student stu1 = {"TheOne", 24, "male"};
だからC++で見たtypedefはCの書き方を互換させるためだけです.