C における構造体とクラスの区別
C では、型特性 std::is_class がどちらの場合も true を返すことに多くの人が気づいています。クラスと構造体。このことから、なぜこの特性において 2 つの明確な区別がないのかという疑問が生じます。一般に、C ではクラスと構造体は実質的に同一であると考えられていますが、本当にそうなのでしょうか?
一般的な考えに反して、C は 1985 年以来構造体をサポートしていません。すべての型は、class キーワードまたは struct キーワードのいずれかを使用して宣言されています。基本的にはクラスです。 struct キーワードは、そのようなクラス宣言に適用される固有の可視性ルールとともに、C との下位互換性のためにのみ保存されています。
したがって、C が std::is_class でクラスと構造体を区別しない理由は次のとおりです。それらの間に本質的な違いはありません。言語の観点からは、両方のキーワードを使用して定義されたすべての型は一律にクラスとして認識されます。
以上がC の構造体に対して `std::is_class` が True を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。