double の非常に大きな配列とavg(double*,size_t)
、平均値を計算する単純な関数があると想像してください (単純な例: 配列と関数の両方が、データ構造とアルゴリズムのいずれであってもかまいません)。関数が2回呼び出され、その間に配列が変更されていない場合、戻り値は変更されていないデータを経由せずに、前の値から直接取得されることを望みます。
前の値を保持するのは簡単に見えますが、関数内に静的変数が必要なだけですよね? しかし、配列の変更を検出するのはどうでしょうか? 関数によって読み取られるフラグを設定する配列にアクセスするためのインターフェイスを作成する必要がありますか? よりスマートでポータブルな何かを行うことはできますか?