次のようなクラスがあるとします。
class Solution {
public:
std::vector<double> x;
}
次のような関数があるとします。
void function(Solution& sol) {
// do some calculations on the solution vector
}
function状況によっては、 vector を使用して直接計算を実行したい場合がありxます。ただし、状況によっては、 vector のマッピングによって生成される別の vector を使用して計算を実行したい場合がありxます。
これらの可能な状況を考えると、クラスに追加のメンバーを導入することは理にかなっていますSolutionが、最初の状況では、この追加のメンバーは単に を参照しx、2 番目の状況では、この追加のメンバー自体がstd::vector、いくつかのマッピングによって決定される別のメンバーになります。形。
したがって、理想的には、 として、または単に への参照としてSolution名前が付けられたメンバーを作成/定義するctor を追加できます。次に、を使用して直接操作するだけです。ystd::vectorxfunctiony
どうすればこれを行うことができますか?