新しい C++ 構造体型を宣言するとします。
struct my_struct {
int a;
int b;
};
次の方法で、この構造体型の新しいインスタンスを作成できますか?
my_struct foo;
また
struct my_struct foo;
両方が機能する場合、違いはありますか?
新しい C++ 構造体型を宣言するとします。
struct my_struct {
int a;
int b;
};
次の方法で、この構造体型の新しいインスタンスを作成できますか?
my_struct foo;
また
struct my_struct foo;
両方が機能する場合、違いはありますか?
はい、どちらの方法でも構いません。違いは、このフォームは次のとおりです。
my_struct foo;
C では合法ではないため、次の形式を使用する必要があります。
struct my_struct foo;
これは、C との下位互換性のために C++ でサポートされています。
どちらも機能します。2 番目の方法が機能する主な理由は、C との互換性です。C では、最初の方法は機能しません。その結果、struct
s は通常C で編集され、 s とstypedef
には 2 種類の名前があります。struct
typedef