問題タブ [empty-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1024 参照

c++ - ハンドルの比較: 空のクラス vs. 未定義のクラス vs. void*

Microsoft のGDI+は、内部でハンドルとして扱われる多くの空のクラスを定義します。たとえば、(ソースGdiPlusGpStubs.h

ハンドルを定義するには、他に 2 つの方法があります。彼らは、

これらの各アプローチの長所と短所を知りたいだけです。

Microsoft のアプローチの利点の 1 つは、空のクラスを使用してハンドルのタイプ セーフな 階層を定義できることです。これは (私が思うに) 他の 2 つのアプローチでは不可能ですが、この階層が実装にどのような利点をもたらすのでしょうか? とにかく、他に何?

編集:

2 番目のアプローチ (つまり、不完全なクラスを使用する) の利点の 1 つは、クライアントがハンドルを逆参照するのを防ぐことができることです (つまり、このアプローチはカプセル化を強力にサポートしているように見えます)。ハンドルを逆参照しようとすると、コードはコンパイルされません。ほかに何か?

ハンドルを逆参照できないという 3 番目のアプローチにも同じ利点があります。

0 投票する
8 に答える
11875 参照

java - C ++、javaの空のクラスのサイズはどれくらいですか?

C ++およびJavaの空のクラスのサイズはどれくらいですか?なぜゼロではないのですか? sizeof();C++の場合は1を返します。

0 投票する
1 に答える
296 参照

c++ - C ++ 03で空のクラスを検出できますか?

重複の可能性:
クラス/構造体にデータメンバーがないかどうかを簡単に判断する方法はありますか?

おそらくテンプレートを使用して、emplyクラスを検出できますか?

C ++ 0xではなく、C ++ 03のみ!

0 投票する
2 に答える
650 参照

c++ - 空のクラスのconstオブジェクトを作成できない理由

上記のコードはコンパイルできませんが、その理由を教えてもらえますか?

0 投票する
4 に答える
69576 参照

python - Python の空のクラス オブジェクト

オブジェクト指向プログラミングの Python クラスを教えていて、クラスの説明方法をブラッシュアップしていると、空のクラス定義が表示されました。

次に、このクラスのオブジェクトの名前とその他の属性を定義します。

面白い!

このようなクラスのインスタンスに対して関数を動的に定義する方法があるかどうか疑問に思っていますか? 何かのようなもの:

これは私の Python インタープリターでは機能しませんが、別の方法はありますか?

0 投票する
3 に答える
2155 参照

c++ - 空の基本クラスの最適化 (EBO) が MSVC で機能しないのはなぜですか?

Visual C++ で空の基本クラスの最適化 (EBO) が完全に適用されないのはなぜですか?

多くの基本クラスがある場合、コンパイラがこの最適化を行うのを助ける方法はありますか?

0 投票する
4 に答える
26540 参照

c# - 空のオブジェクトの生成 - 空のプロパティ/サブクラスを持つ空のクラス C#

私は2つのクラスを持っています:

ヒューマンの新しいインスタンスを作成したい場合は、やらなければなりませんが、そのHuman person = new Human(); ようにアクセスしようとするとperson.properties.prop1=1;、プロパティに nullRefrence があり、新しいプロパティも作成する必要があるためです。私はそのようにしなければなりません:

そして今、私はこれにアクセスできますperson.properties.prop1=1;

これは小さな例ですが、xsd から生成された巨大なクラスがあり、この「人」クラスとそのすべてのサブクラスを手動で生成する時間があまりありません。プログラムでそれを行う方法はありますか、それともそのためのジェネレーターがありますか?

または、クラスをループして、すべてのプロパティに対して新しいクラス typeof プロパティを作成し、それを親クラスに結合できますか?

ありがとう!

0 投票する
1 に答える
3069 参照

c++ - C++ 例外が空のクラスをスローする

以下は、「プログラミング: C++ を使用した原則と実践」からの抜粋です。throw Bad_area()表記に混乱しています。この本はそれを説明しようとしています。この説明は代入表記と一致しません。int x=1 == int x(1); またはBad_area x; .

コード例 (try ブロックをコメントアウト):