c++ - 空のBoostアキュムレータを使用する

原文 c++ boost boost-accumulators

私は好奇心旺盛です、このコードスニペットからどのくらいの平均が得られますか?アキュムレータは空であることが意図されています。

boost::accumulators::accumulator_set<
    int,
    boost::accumulators::features<boost::accumulators::tag::mean>
> Accumulator;

int Mean = boost::accumulators::mean(Accumulator);


私がそれをテストするとき、平均は非ゼロです。空のデータセットの平均がとられたと言える方法はありますか? 「平均」の結果の値がゼロ以外になるのはなぜですか?

アキュムレータライブラリのドキュメントを探していましたが、この質問に対する回答が見つかりませんでした。
答え
すべての値は、空の値のセットの有効な平均になります。つまり、x * 0 = 0はすべてのxに適用されます。

count機能をaccumulator_setに追加し、それをクエリして0かどうかを確認できます。
関連記事

c++ - VC++リソースコンパイラ(RC)オプション/ n…?

c++ - GL_DRAW_FRAMEBUFFERターゲットを使用すると、glBindFramebufferが「無効な操作」GLエラーを引き起こす

c++ - クラスのメンバーアクセス

c++ - ImageMagick C++ API出力16ビットグレースケールpng?

c++ - TWAINでサポートされている解像度を列挙するにはどうすればよいですか

c++ - C++入力が正しいかどうかをユーザーに尋ねるエラー

c# - 分類ライブラリ

c++ - 警告—ポインターと組み合わせた算術式の不審な切り捨て

c++ - VM内でのOpenGL 2.1の使用

c++ - 積分近似関数の再帰