-1

おそらくこれは基本的な誤解ですが、次の行は私を混乱させます。

return *static_cast<MockBehavior*>(COMPOSITE::m_Children[index]);

この行は正確に何をしているのですか?

4

2 に答える 2

3

タイトルと質問テキストに一貫性がないように見えますが、この行はCOMPOSITE::m_Children[index](COMPOSITEはある種の名前空間またはクラスである必要があります)で示されるポインターを受け取り、ポインター型をにキャストしMockBehavior*、それを逆参照して、参照MockBehaviorオブジェクトを生成します。次に、これはおそらく値によって返され(ここでも、質問には重要な必要なコンテキストがありません)、質問に示されていないオブジェクトタイプのコピーコンストラクターが呼び出されます。

于 2012-08-28T15:33:02.330 に答える
0

COMPOSITE::m_Children[index]それが何であれ、アクセスしています。うまくいけば、何かへのポインタの配列。

次に、そのポインターを へのポインターに変換しようとしますMockBehavior。最後に、そのポインターを逆参照し、結果を返します。

this を含む関数が値によって返される場合、 のコピー コンストラクターが必要になりますMockBehavior

于 2012-08-28T15:34:45.287 に答える