Slide 30
Slide 30 text
参照渡しの演算子 overload
コピー抑止
in 引数のみ認めらているので防衛的コピーに注意
readonly struct Complex
{
public double R { get; }
public double I { get; }
public Complex(double r, double i) => (this.R, this.I) = (r, i);
// in 引数が認められるようになった
public static Complex operator +(in Complex x, in Complex y)
=> new Complex(x.R + y.R, x.I + y.I);
}