eに静的フィールド/メソッドがないという技術的な理由はありますか?
LRM を調べましたが、このようなことは何も言及されていません。回避策があります (このようなもの: http://www.specman-verification.com/index.php?entry=entry060612-105347 ) が、適切にカプセル化されていないため、特にクリーンなアプローチではないと思います。
eに静的フィールド/メソッドがないという技術的な理由はありますか?
LRM を調べましたが、このようなことは何も言及されていません。回避策があります (このようなもの: http://www.specman-verification.com/index.php?entry=entry060612-105347 ) が、適切にカプセル化されていないため、特にクリーンなアプローチではないと思います。
実際、私の以前の回答では、重要な点が抜けていました。これにより、静的メンバーは単なるメンバー以上のものになりglobal
ます。
eには、C++ と同様に型がありtemplate
ます。a の静的メンバーは、一方では、特定のテンプレート インスタンスタイプのすべてのインスタンスオブジェクトtemplate
によって共有されますが、他方では、テンプレート インスタンスごとに個別に存在します (それぞれが個別の構造体である) )。
e に静的構造体メンバーがまだない主な理由は、特定のモジュールの最上位ユニット (より良いカプセル化を意味する) だけでなく、常にグローバルおよび sys シングルトンを持っているという事実だと思います。置いた。正確なセマンティクスを定義する際の複雑さを除けば、特別な技術的な理由はありません。
ユニット アクセスのシンタックス シュガーとして、非常に基本的な単一ワード マクロでいつでもラップできます。このマジック ワードは、「me」のネイティブに表示される静的構造体メンバーに対して常に必要になるため、完全にシームレスにはなりませんが、まだ非常に使いやすいです。