6

in、out、inout - CORBA IDL 関数パラメータでの「方向」演算子の意味は何ですか?

4

1 に答える 1

9

Ciaran McHale の無料のオンライン ブック、CORBA Explained Simplyから:

操作のパラメーターには指定された方向があります。これは、in (パラメーターがクライアントからサーバーに渡されることを意味する)、out (パラメーターがサーバーからクライアントに戻される)、またはinout (パラメーターが両方向に渡されることを意味します) のいずれかです。 )。

したがって、inパラメーターは、呼び出し元が値を渡す必要があり、サーバーがその値を使用して作業を行うという点で、「従来の」関数パラメーターに非常に似ています。

outパラメータは戻り値のようなものであるため、呼び出し元が値を設定することはありません。サーバーは実行ルールの一部として値を内部に入れる責任があるため、関数が返されたときに(例外がスローされなかったと仮定して)魔法のように値を持っています。パラメータは必要な数だけ持つことができるため、out複数の個別のオブジェクトまたは値を最初に に結合することなく返すことができますstruct

inoutパラメータは、上記の 2 つの概念を組み合わせたものです。呼び出し元はすべてのinoutパラメーターに有効なデータを設定する必要がありますが、サーバーは新しいデータを自由に配置できるため、関数が戻った後はそれらの値が異なる場合があります。

于 2011-06-07T14:29:03.857 に答える