Param
次のように定義されたクラスがあるとしましょう:
class Param {
public:
std::vector<double> lb;
std::vector<double> mid;
std::vector<double> ub;
int level;
};
このクラスの目的は、下限と上限 (それぞれ と )、およびさまざまなパラメーターの中間推定値を定義するlb
ことub
です。lb
与えられたオブジェクトに対して、 、mid
、およびub
が同じ数の要素を持つと仮定します。
さて、もし なら、見積もりlevel<0
を使いたいです。lb
なら見積もりlevel==0
を使いたい。mid
それ以外の場合 (の場合)、見積もりlevel>0
を使用したい。ub
私の質問はstd::vector<double>
:の値に基づいて適切なメンバーに自動的に「パススルー」する単一のメンバー関数 (または参照メンバー変数に似たもの) を作成するにはどうすればよいlevel
ですか?
たとえば、関数がある場合
void f(const std::vector<double>& X);
また
void g(std::vector<double>& X);
私はこのようなことができるようにしたい:
Param myParam;
// set values of myParam.lb, myParam.mid, and myParam.ub, and myParam.level
f(myParam.__?__);
g(myParam.__?__);