通常の組合と匿名組合(または構造体)の違いについてお聞かせください。 私はちょうど1つを見つけました:
関数は匿名結合では定義できません。匿名組合と通常組合
5
A
答えて
7
ドット演算子 "。"は必要ありません。匿名の共用体にアクセスする。
#include <iostream>
using namespace std;
int main() {
union {
int d;
char *f;
};
d = 4;
cout << d << endl;
f = "inside of union";
cout << f << endl;
}
この場合、正常なUnionでは「NO」が正常にコンパイルされます。
また、匿名ユニオンにはパブリックメンバーしか参加できません。
PS:構文のクラス名部分を省略しても、ユニオンは匿名のユニオンではありません。ユニオンを匿名の ユニオンとして修飾するには、宣言でオブジェクトを宣言してはいけません。
+2
丁寧な回答、+1!私は匿名の組合が存在しないと思っていました:)もし誰かがさらに読んでみたいと思っているなら(上記の答えを読んでいたのですが)、9.4節を見てください。INCITS/C++仕様の他の微妙な点については、 ISO/IEC 14882-2011 [2012]。 – Jimbo
0
私が知る限り、匿名の構造体は標準のC++では存在しませんが、いくつかのコンパイラでサポートされている可能性があります。
匿名組合には、保護されたメンバーまたはプライベートメンバーを含めることはできません。メンバーは、組合の名前を使わずにアクセスできます(明示的には持っていないので!)。グローバルな匿名組合(God forbid)は静的であると宣言されなければならない。
関連する問題
- 1. 匿名組合が
- 2. 通常のphpとcodeigniterを組み合わせるには
- 3. SET文と通常の文を組み合わせる
- 4. 通常のHTML/CSSウェブサイトとwebGL(ThreeJS)を組み合わせる
- 5. 匿名型関数の組み合わせ
- 6. ケースと名前の組み合わせ
- 7. 組合
- 8. 照合組合エラー
- 9. 組の組合を取る
- 10. 交差と組合のタイプを組み合わせる方法
- 11. シェルスクリプト、3組の名前、すべての組み合わせ
- 12. エンティティフレームワークの組合
- 13. 組合せ
- 14. は組合
- 15. 選択組合
- 16. コントロール名の組み合わせ
- 17. ダブルヌル値組合PHP
- 18. ドッカーシェフ組合、違い
- 19. のgSOAP C組合
- 20. Python itertoolsの組み合わせの組み合わせ
- 21. データウェアハウス:冗長な組み合わせの組み合わせ
- 22. MySQL:リードの組合と上位3つのカウントを組み合わせる
- 23. 配列と組み合わせパターンの組み合わせを見つける
- 24. 匿名プロシージャとネストされたプロシージャを組み合わせたときのコードが間違っています
- 25. TBBとSSE2の組み込み関数を組み合せる
- 26. ReactとReduxとの組み合わせ
- 27. ユーザー名とパスワードの組み合わせを保存する
- 28. 名前空間のインポートとPHPのファイルの組み合せ
- 29. Bashスクリプト:コマンドを変数名と組み合わせるには?
- 30. 与えられた名目との組み合わせの数
[Cの無名struct/union](http://stackoverflow.com/questions/13376494/unnamed-struct-union-in-c)、[CのAnonymous構造体/共用体](http:// gcc.gnu.org/ml/gcc-patches/1999-06n/msg00376.html) –