私はHandle in Cの記事を読んでいたので、voidポインタとしてハンドルを実装していることに気付きました。 "何でも" Object/data型を取得しました。データとその価値を取得します。ハンドル、無効ポインタ、C++のオブジェクト
1.Ifは、我々は機能dosomething(21,2,2)
に値を渡すと、それが21であるために値HANDLEポイントを意味しているのHandle in C
typedef void* HANDLE;
int doSomething(HANDLE s, int a, int b) {
Something* something = reinterpret_cast<Something*>(s);
return something->doit(a, b);
}
から取った次の例で言うことができます:だから私は基本的に2つの懸念を持っていますそうであれば、そのオブジェクトにそれをキャストするときどのようにオブジェクトをキャストするのですか?この例のように、それを使うことができるでしょうか?そうでない場合は、オブジェクトSomethingへのポインタは何かを返します。
2.Secondlyリンクも "あなたのコードでは、不透明な値 "実際にはどういう意味ですか?なぜ私たちは "ハンドルを渡す"のですか?誰かが偉大になるオブジェクトを使用するハンドルのより説得力のある例を与えることができる場合!
これは、HANDLEの値が21_ Noであることを意味します。これは 's'が21であることを意味します。 – bejado
私は間違っているかもしれませんが、コードでは、sを別の型にキャストします。実際の住所は決して変わりません – efekctive