2010-12-18 13 views
4

​​によると、「標準レイアウト」のための要件は次のとおりです。C++ 0xの「標準レイアウト」

  • は、すべての非静的メンバ
  • ため(、官民、保護された)同じアクセス制御を持っています

パブリックメソッドとプライベートデータを持つオブジェクトが標準レイアウトから除外されることはありませんか?そのような厳しいルールの根拠は何ですか?

答えて

3

パブリックメソッドとプライベートデータを持つオブジェクトが標準レイアウトから除外されることはありませんか?

いいえ、ウィキペディアの記事 には に間違った言葉がありました。 データメンバためだけ異なるアクセス制御が標準レイアウトを扱うFCD§9/ 6に記載されている:

標準レイアウトクラスがクラスである:
[... ]
- すべての非静的データメンバに同じアクセス制御(第11条)があり、

+0

ゲオルク、最終的な見積もりは、テキスト「非静的_data_メンバー」が含まれます。私の関心は非常に単純なクラスで_ _ _ _データメンバーはプライベートであり、いくつかの_function_メンバー/メソッドは公開されています。私の質問は、なぜそのようなオブジェクトを「標準レイアウト」として扱わないのですか? –

+0

@ジョン:申し訳ありませんが、私はメソッドとデータの混在したアクセス制御について話したことを完全に読んでいます。どのように私はそれを逃したのか分からない。 –