Fortran 2003 入門

ナビゲーション:前へ   上へ   次へ

8.2 名前付き手続きポインタ

手続きポインタはPOINTER属性を持つ手続きで、 名前付きポインタもしくは構造体成分(他で説明されています)であり得ます。 手続きポインタを宣言する通常の方法は、手続き宣言文にPOINTER節を含める方法です。
例:
  PROCEDURE(aname),POINTER :: p => NULL()
これはPが引用仕様ANAMEを持つ手続きポインタとして宣言し、 それを遊離状態ポインタとして初期化します。

名前付き手続きポインタは通常の手続き宣言の他にPOINTER属性を指定して宣言 することもできます。例えば型宣言文により宣言された関数は、 型宣言中にPOINTER属性が含まれている場合には関数ポインタになります。

  REAL, EXTERNAL, POINTER :: funptr
POINTER文も引用仕様ブロック、EXTERNAL文、 もしくは型宣言文と併用することにより、手続きポインタを宣言するのに使用することができます。
例:
  INTERFACE
    SUBROUTINE sub(a,b)
      REAL,INTENT(INOUT) :: a,b
    END SUBROUTINE
  END INTERFACE
  POINTER sub

手続きポインタを手続きポインタ成分として構造型中に格納することもできます。 構文と動作は若干異なり、“オブジェクト結束手続き”のように振る舞います。


ナビゲーション:前へ   上へ   次へ

関連情報
ご案内
© 譌・譛ャ繝九Η繝シ繝。繝ェ繧ォ繝ォ繧「繝ォ繧エ繝ェ繧コ繝�繧コ繧ー繝ォ繝シ繝玲�ェ蠑丈シ夂、セ 2025
Privacy Policy  /  Trademarks