Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

DEFINED 対 UNION

UNION 属性は、DEFINED 属性よりも強力で、より多くの機能を提供します。 さらにコンパイラーは、共用体参照の場合、より優れたコードを生成します。

次の例では、変数の対 b3b4 が、b1 および b2 と同じ機能を実行しますが、 コンパイラーは共用体の対の場合に、より最適化されたコードを生成します。

dcl b1 bit(31);
dcl b2 bit(16) def b1;

dcl
  1 * union,
    2 b3 bit(32),
    2 b4 bit(16);

DEFINED 属性ではなく UNION を使うコードは、誤って解釈されることが少なくなります。 共用体の中の変数宣言は 1 個所にあるので、共用体のメンバーが変更されたり、 ほかのすべてのメンバーが変更されても、それを理解しやすくなっています。 この動的変更は、DEFINED 変数を使う宣言では宣言ステートメントが複数行離れていることがあるので、 認識が難しくなります。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)