3

Numerical Recipesでは、彼らは私がこれまでに見たことのないものを使用しており、次の情報を簡単に見つけることができませんでした:

void fun( std::vector<double> derivatives(const double, const std::vector<double> &) ) { ...; derivatives(...); ...; }

私が推測しているのは、関数を参照渡しすることです (これは正しいですか)? なぜこれが関数ポインタを使用するのに有利なのでしょうか? それぞれの方法はどのような状況で好まれますか?

2 つ目の問題が あります。関数を初めて呼び出すと、プログラムが数秒間ハングします。ここで、私が渡す引数関数自体が、関数ポインタとは異なる関数を呼び出します。

  vector<double>(*pfI)(const double) = NULL;  
  ...
  pfI = pointedToFun;
  void argFun() { ...; deRefPointedFun = (*Theta::pfI)(t); deRefPointedFun(); }

2 レベルの参照/ポインター関数を処理するより良い方法は何ですか?

4

1 に答える 1