列挙型に整数を掛けるコードがあります。
QuantLib::Date date2 = date + 12 * QuantLib::Months;
QuantLib::Months は次のように定義されます。
enum TimeUnit { Days,
Weeks,
Months,
Years
};
これにより、date2がdateから 1 年後という望ましい結果が得られます。ただし、これがどのように達成されているかを理解することはできません。
これはコンパイルできないと思っていました。これで、「12 か月」オブジェクトに到達したように感じます。このオブジェクトは、QuantLib::Date '+' 演算子のオーバーロードによって処理されますが、このスタイルはこれまで見たことがありません。
私は C# のバックグラウンドを持っているので、ここでの作業で気付いていないことがあるかもしれません。誰が何が起こっているのか説明できますか? 参考資料をいただければ幸いです。