こんにちは、ドン ボックスの本「Essential COM」を読んでいます。私の質問は、IUnknown の QueryInterface メソッドに関するものです。型キャスト コードからクライアントを保護するために、型キャストの実装がインターフェイスに移動されたことは理解していますが、その理由はわかりません。この本は、最初の章で、RTTI の実装はコンパイラによって異なるため、IUnknown に QueryInterface メソッドを含める動機になっていると述べています。ただし、クライアント側でキャストを行うことの何が問題になっていますか。つまり、実装がクロス ベンダー、クロス コンパイラ、クロス プラットフォームであることのみが必要であり、クライアント コードにはこれらの制約が必要ないため、キャストはクライアント側でも行うことができます。これについての洞察をいただければ幸いです。
ありがとう、アブドゥル